北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
我描述一下主要的过程,中间的就略过了...
我用ADO来获取一个Recordset,来源是:
select pn from tab
然后我用 rs.filter 准备筛选一些数据,比如
rs.filter = "pn like %ABC%" (这里用“%”或“*”都是可以的)
这种情况下,我是可以得到想要的筛选结果。
问题就在这个条件式,继续看下去...
假设我的 pn 里面有一条为 A'BC' 的记录的时候,那么我写的条件式(rs.filter = "pn like %A''BC''%")就找不出来了!
我发现:在Access的查询里面,是可以使用(like "%A'BC'%")进行查询并有结果的。
而且,在定义 Recordset 的 Source 时候,也是可以用“双单引号”(即 like '%A''BC''%')取得带条件的记录集。
双单引号:在一个单引号后面多加一个单引号。
但一旦对 Recordset 采用 filter 的方法,条件式里面用“双单引号”(即 like A''BC'')方式都不能查询到结果。
说明一下:在 recordset 里面一定要用“双单引号”方式表示单引号,否则程序会报错。
这问题搞了一个晚上都没搞好,希望有哪位高人可以帮我解决一下,先在这里谢了!
最新发现:
如果将条件式写成: pn = "%A'BC'%" 的时候,就可以查询单引号,即用双引号将内容括起来。
但发现使用这样的方法时,当要查询包含以下符号:
) = " < >
程序会报错,也就是说,用双引号的方式,会引起更多符号不能查询,
如果要查询“<>”,即要写成 pn = '%<>%' ,这样就可以正常查询了。
那现在就是说,如果我要同时查询 < > 和 ' 的时候,怎么办???