首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:为什么在从VB6应用程序调用时喜欢不同的行为?

:为什么在从VB6应用程序调用时喜欢不同的行为?
EN

Stack Overflow用户
提问于 2009-03-27 17:32:31
回答 6查看 2.7K关注 0票数 2

我不做太多的VB6编码,但我现在正在更新一个现有的应用程序,只是遇到了一个障碍。

我解决了问题。在VB6中,查询在使用(如)时必须使用% 通配符,但在MS Access中,您必须使用*通配符

我在查询同一个数据库-(它在MS Access中)。

当从MS Access内部查询时,以下查询工作:

代码语言:javascript
复制
SELECT * FROM table WHERE field LIKE '*something*'

当我在VB6中构建这个查询时,我必须这样做:

代码语言:javascript
复制
SELECT * FROM table WHERE field LIKE '%something%'

发生什么事了呢?这正常吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-03-27 17:38:22

Access以前有自己不兼容的SQL版本,因此我认为它使用*是出于遗留原因。

当您使用VB6时,通常使用ODBC和更标准化的SQL,因此应用更常见的通配符。请记住,VB6并不关心您使用哪个DB,所以如果您使用其他东西(例如,server),它可能只会理解百分比符号。

我猜Access-ODBC连接器会为您转换一些东西。

票数 5
EN

Stack Overflow用户

发布于 2009-03-27 17:46:32

Access默认使用ANSI-89通配符的子集,VB6通过ADO连接将使用ANSI-92。

算子比较

更改模式访问使用的

票数 5
EN

Stack Overflow用户

发布于 2009-03-28 01:19:44

我不知道这是否适用于VB6,但在Access中,可以使用

代码语言:javascript
复制
ALIKE '%something%'

不管您是在DAO还是ADO中使用VBA,还是在查询编辑器中创建查询,%字符都将被视为通配符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/690731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档