首页 > 代码库 > c#程序中使用"like“查询access数据库查询为空的问题

c#程序中使用"like“查询access数据库查询为空的问题

今天,在开发的过程中发现了一个特别奇怪的问题:access中like查询时候。在Access数据库中运行,发现能够查询出结果。这是在数据库上运行。select * from KPProj where KpName like ‘*測试*‘,可是相同的语句在c#程序中却查询为空。这是什么情况呢?

这个问题真让人纠结。通过曾经的开发经验,access中like须要用*号。可是sqlserver oracle数据库中要用标准的%,为什么此时就不行呢?经过搜索资料。最后发现是连接access驱动程序的问题,曾经用的都是mdb,数据库是accdb。然后使win7 64位开发系统,因为我的程序中连Access用的是oledb驱动程序,所以在这里 不能用“*”,必须用“%”。假设用的是DAO訪问Access数据库,则必须用“*”。

      发现并非遇到access就用*,所以要依据实际的驱动来确定;

c#程序中使用"like“查询access数据库查询为空的问题