查询在 MS-Access 中运行良好,但不能通过 jet 4 在 .net 中执行
Posted
技术标签:
【中文标题】查询在 MS-Access 中运行良好,但不能通过 jet 4 在 .net 中执行【英文标题】:Query Runs fine in MS-Access but doesn't execute in .net through jet 4 【发布时间】:2014-04-28 09:04:48 【问题描述】:谁能告诉我为什么这个查询会在 ms access 97 中正常触发,但不能通过 .net jet 4.0 驱动程序触发?
Update SkechersPricat, Map_Size Set SkechersPricat.Size=Map_Size.GeminiSize,
SkechersPricat.ourScale=3, SkechersPricat.OurSizeCol=Map_Size.GeminiSequence Where
SkechersPricat.Gender=Map_Size.Gender AND SkechersPricat.size=Map_Size.[size] and
SkechersPricat.Gender in ('G','B') and Map_Size.GeminiScaletype=3 and
SkechersPricat.SkechersStyleNumber like '*L'
编辑 Ps 我从我使用的.net retvalue 中复制了代码,这只是一个字符串变量。
【问题讨论】:
LIKE query on an Access database via C# always returns COUNT(*) of 0的可能重复 @GordThompson 如果您查看标签,这是针对 vb.net 的 @DavidB 它在 VB.NET 中的工作方式与 C# 相同,因为两者都使用相同的 .NET 框架。 @AndrewMorton 确实 indead 似乎可以工作,但奇怪的是我的其他带 * 的 quyers 发射得很好有点奇怪,这就是为什么我没有发现这个 @GordThompson 你能给出一个正确的答案,所以我可以标记你谢谢 【参考方案1】:在 Access 本身中运行的查询与从外部应用程序中运行的查询之间的 LIKE 通配符差异让您感到困惑。
从 Access 本身运行查询时,您需要使用星号作为通配符:LIKE '*L'
。
从外部应用程序(如您的 VB.NET 应用程序)运行查询时,您需要使用百分号作为通配符:LIKE '%L'
。
【讨论】:
感谢哥们,我学习了 vb.net 和 c# 两种语言,有时小事情会让我们感到困惑 为什么它适用于某些查询而不是 orthers 并且 def no 其他查询适用于 * 因为它确实修改了其他查询中的数据以上是关于查询在 MS-Access 中运行良好,但不能通过 jet 4 在 .net 中执行的主要内容,如果未能解决你的问题,请参考以下文章
使用 SQL 在 Ms-access 查询中运行 Total
Apache-Passenger 上的 Rails 应用程序 - 在 localhost 上运行良好,但不能通过远程访问