无法从.NET OleDB.DataReader中检索行

时间:2012-11-29 12:52:53

标签: .net sql ms-access oledb

我的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)...)解决了这个问题,但我需要第二部分!!

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

1 个答案:

答案 0 :(得分:1)

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

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