我没有用 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 连接器会为您转换内容。
关于sql - MS Access 查询 : why does LIKE behave differently when being called from VB6 app?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/690731/