1

我的 SQL 语句有问题。

我的环境如下:

  • 通过 .NET OleDB.DataReader 查询 MS Access (2002) 的 VB.NET 应用程序

该查询不提供任何行/结果。但是当我在 MS Access 数据库上执行查询时,它会提供正确的结果。

查询是:

<i>select prnr.prk, prnr.prl, famk, faml from 
(fzgpr inner join prnr on prnr.id = fzgpr.prid) 
inner join prfamilie on prfamilie.id = prnr.famid 
where ((fzgpr.fzgid) = 1) and ((FamL) like '*Air*')</i>

我尝试了不同的括号,但没有一个有效。我注意到,删除 where 子句的第二部分(和((FamL)...)解决了这个问题,但我需要第二部分!

我找不到错误,请帮助我,...

4

1 回答 1

1

我想说,如果您通过 OleDB 运行查询,则必须符合更多基于 SQL 的语法并使用((FamL) like '%Air%')

我在 Access 数据库上运行了一些应用程序(我的都是 2010 年的),这就是我使用的语法。我还使用 OleDB 对数据库进行所有读取访问。

于 2012-11-29T13:06:42.020 回答