上午,在写项目的时候,发现从access的文档表里面读取出名称为like某个字符串的行集合来,居然怎么弄,读出的集合里面行数都为0.
开始研究like语法,在msdn上看到,sqlserver中是用%通配符,在access中是用*通配符,结果我在代码里面用 like '*XXX*',居然返回为0行!
再把sql语句放在access的查询里面,发现能读出2行!
郁闷!
偏偏项目还不能跟踪调试.
折腾了一上午,最后,在百度上查了下,查到个结果:
---------------------------------------------------------------------------------------------
Access里like的通配符用法是这样:
“?”表示任何单一字符; “*”表示零个或多个字符; “#”表示任何一个数字
所以应该是:
select * from databasename where fieldname like '*XX*'
原来在SQL SERVER 里是用%%的,在ACCESS里是用**号的,怪不得都找不到数据!
但如果在VS2005的TableAdapter里又要用%%,用* 不行!!!
--------------------------------------------------------------------------------------------------
原来关键在最后这句话里面,我用的是vs2005,结果把sql语句里面的*替换为%,成功了.
郁闷啊,一上午!