【发布时间】:2013-04-02 19:59:13
【问题描述】:
我遇到了一个非常特殊的问题。我正在使用 ms access 2007 使用 asp .net vb
为了获取数据,我使用以下代码 sn-p
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 生成的查询
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) 行不会用任何行填充数据表
我被这个问题困住了,任何建议和解决方案在此先感谢。
【问题讨论】:
-
尝试改用
'011%'。 -
成功了!现在它提出了另一个问题,通配符在 asp .net 和 ms 访问中是否不同?因为现在我在 ms 访问中尝试了这个查询并且它没有返回任何数据。
标签: asp.net vb.net ms-access-2007 oledbdataadapter