我没有用VB6做很多编码,但我现在正在更新一个现有的应用程序,只是遇到了障碍.
我解决了这个问题.在VB6中,查询必须在使用LIKE时使用% 通配符,但在MS Access中,您必须使用*****通配符.
我正在查询相同的数据库 - (它在MS Access中).
从MS Access中查询时,以下查询有效:
SELECT * FROM table WHERE field LIKE '*something*'
当我在VB6中构建该查询时,我必须这样做:
SELECT * FROM table WHERE field LIKE '%something%'
发生了什么?这是正常的吗?
Access过去常常有自己不兼容的SQL版本,因此我认为它使用*来保留原因.
当您使用VB6时,通常使用ODBC和更标准化的SQL,因此应用更常见的通配符.请记住,VB6并不关心您使用哪个数据库,因此如果您使用其他内容(例如,SQL服务器),它可能只会理解百分号.
我猜测Access-ODBC连接器会为您转换内容.
访问将默认使用ANSI-89通配符的子集VB6,通过ADO连接将使用ANSI-92.
运营商比较
更改Access使用的模式