模糊查询的问题
Adodc1.ConnectionString = getConnectionStrAdodc1.CommandType = adCmdText
If goodsType = "A" Then
Adodc1.RecordSource = "select * from goods"
Else
Adodc1.RecordSource = "select * from goods where goodsid like '*Q*'"
End If
Adodc1.Refresh
End Sub
这是我的模糊查询代码,MSHFGRID已绑定在ADODC1上,我的数据库中有值,而且在ACCESS数据库中,通过该语句,能查到相关的值,但是在VB里却没有数据。
将Adodc1.RecordSource = "select * from goods where goodsid like '*Q*'"改成
Adodc1.RecordSource = "select * from goods where goodsid like 'q1'"
也能查到值
这是为什么呢? --------------------编程问答-------------------- like '*Q*'
改成like '%Q%'好了~~ --------------------编程问答-------------------- 这是VB;VBA(包括ACCess)里的通配符规则
? 任何单一字符。
* 零个或多个字符。
# 任何一个数字 (0–9)。
SQL语言里用'%';'_'做通配符
可能是这个原因吧
--------------------编程问答-------------------- 语句应该为
Adodc1.RecordSource = "select * from goods where goodsid like '%Q%'"
是以 % 号开头的
不是以 * 开头的
呵呵 --------------------编程问答-------------------- 怎么 vb版 改版了哈 --------------------编程问答-------------------- Adodc1.RecordSource = "select * from goods where goodsid like '%Q%'" --------------------编程问答-------------------- 楼上的,VB里面模糊查询,是用*,这个我已经在ACCESS数据库里查询到数据。
我在我的问题中,已经提到这一点。请大家帮我看看别的问题,谢谢。 --------------------编程问答-------------------- 改成like '%Q%'好了~~ --------------------编程问答--------------------
这是 Jet Engine 的通配符规则在起作用。
无论用什么语言平台,SQL 语句是作为字符串发送的数据库引擎的。然后有引擎来解析和处理。 --------------------编程问答--------------------
这个就不知道了
反正我每次向数据库进行 模糊查询 时都是使用 “%”号的 --------------------编程问答--------------------
支持 --------------------编程问答-------------------- 通配符。。 --------------------编程问答-------------------- 一楼正解 --------------------编程问答-------------------- "select * from goods where goodsid like '%Q%'"
补充:VB , 数据库(包含打印,安装,报表)