sql - MS Access 查询 : why does LIKE behave differently when being called from VB6 app?

标签 sql ms-access vb6

我没有用 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/

相关文章:

c# - 应用程序在客户端上没有 MS Access 权限的情况下 Access 共享文件夹上的 mdb 文件

vba - 在 vb 中使用 "OR"时,IF 条件有什么限制吗?

vb6 - 当组件服务尝试打印时没有打印机显示

sql - Postgresql 内部连接语法

sql - BigQuery - 连接每行的字符串数组

c# - LINQ 动态查询产生 'where AssignedUser is null'

sql - 需要 Access 查询方面的帮助

arrays - VBA动态数组仅分配一维

excel - 使用 Microsoft.Jet.OLEDB 提供程序时是否需要 MS Office?

sql - 从链接到 Oracle 的 SQL Server 编写 SQL 查询时如何指定日期文字?