以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  语句请教  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=72389)

--  作者:cuicuibing
--  发布时间:2015/7/29 16:50:00
--  语句请教
表a     编号      姓名
         001      王二
         002      李四
         003      张六

表b     编号      姓名
         001      王二,张六
         001      李四,张六
         002      李四,张六
         002      王五,李四

根据表a的姓名查找记录,表b编号等于表a编号   ,表b的姓名包含表a姓名

Dim Tbl As Table = Tables("表a")
Dim cur As String
Dim cur1 As String
cur = tbl.Current("编号")
cur1 = tb2.current("姓名")

Tables("例子").Fill("Se lect * From {表b} where  编号= \'" & cur & "\' and 姓名 like \'" & cur1 & "\' ","s" ,False)

这样查询不到记录,请问:     姓名 like \'" & cur1 & "\'  这里对不对。


                 

--  作者:大红袍
--  发布时间:2015/7/29 16:55:00
--  
Tables("例子").Fill("Se lect * From {表b} where  编号= \'" & cur & "\' and (\',\' & 姓名 & \',\') like \'%," & cur1 & ",%\' ","s" ,False)
--  作者:cuicuibing
--  发布时间:2015/7/29 17:07:00
--  
版主,显示  数据类型 varchar 和 nvarchar 在 boolean AND 运算符中不兼容。
--  作者:大红袍
--  发布时间:2015/7/29 17:10:00
--  

sqlserver数据库这样写

 

Tables("例子").Fill("Se lect * From {表b} where  编号= \'" & cur & "\' and (\',\' + 姓名 + \',\') like \'%," & cur1 & ",%\' ","s" ,False)

 

不行,就这样写

 

Tables("例子").Fill("Se lect * From {表b} where  编号= \'" & cur & "\' and 姓名 like \'%" & cur1 & "%\' ","s" ,False)