繁体   English   中英

为什么oledb dataadapter没有从vb.net中的访问数据库中获取任何数据?

[英]why is oledb dataadapter not fetching any data from access database in vb.net?

我陷入了一个非常特殊的问题。 我正在使用ms access 2007在asp .net vb中工作

为了获取数据,我使用以下代码片段

        connection = utility.GetConnection()
        Dim command As New OleDbCommand(sQuery, connection)
        Dim adapter As New OleDbDataAdapter(sQuery, connection)
        Dim dt As New DataTable()
        adapter.SelectCommand = command
        adapter.Fill(dt)

当我使用没有where子句的查询时它可以工作。 即IT取出所有行并填充数据表。 但是当sQuery使用where子句时,dt.Rows.Count总是给出0.即没有从数据库中获取数据。 我说这是一个很有问题的问题,因为在删除时我用where子句复制了sQuery并在ms访问中运行,然后返回数据。 我不明白我错过了什么。 我正在显示为sQuery生成的queires

    SELECT * FROM ORDER_VIEW WHERE 1 = 1 (I don have any problem with that)

但是当sQuery有

  SELECT * FROM ORDER_VIEW WHERE 1 = 1 AND ITEM_ID_NO LIKE '011*' 

它在ms访问中获取行,但是,adapter.Fill(dt)行不会用任何行填充数据表

我对这个问题感到困惑,提前感谢任何建议和解决方案。

使用OleDB提供程序时,请尝试使用'011%'而不是'011*'

我相信OleDB引擎使用%作为外卡引擎使用*字符的外卡字符。 它归结为提供者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM