无法从 .NET OleDB.DataReader 检索行

Posted

技术标签:

【中文标题】无法从 .NET OleDB.DataReader 检索行【英文标题】:Cannot retrieve rows from .NET OleDB.DataReader 【发布时间】:2012-11-29 12:52:52 【问题描述】:

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

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

【问题讨论】:

在选择 oledb 时,您应该尝试将 '*' 替换为 '%' 好消息是您的数据库端正在工作;) 工作是让您的 .net 让他们说话... 【参考方案1】:

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

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

【讨论】:

以上是关于无法从 .NET OleDB.DataReader 检索行的主要内容,如果未能解决你的问题,请参考以下文章

SendGrid 无法从传输连接读取数据:net_io_connectionclosed

httpclient 在公司代理中无法从 .net6 工作

无法从 C++ 调用 .Net 服务

无法从 C#.NET 更新 Access 数据库文件

无法从 .net 中的 Ajax 调用 .asmx Web 服务

javascript 无法从 asp.net 更改简单的标签文本