我程序中的adoquery的filter:
设置为:'a <> 0 and b = 2 OR c = 3'时正常,
但当为:'a <> 0 and ((b = 2) or (c = 3))'时报错:变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突,请问是为什么?
设置为:'a <> 0 and b = 2 OR c = 3'时正常,
但当为:'a <> 0 and ((b = 2) or (c = 3))'时报错:变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突,请问是为什么?
解决方案 »
- 通过桌面图标的快捷方式打开程序?
- 如何在delphi中编程实现让系统用默认的程序打开文件??
- 我想问一下IntraWeb的页面刷新事件是哪个?
- 怎么我的可用分不增加了,不给我分我散分
- 求ODAC-TOraStoredProc返回带参数的游标的代码。
- 我如何在程序运行的时候获取整个局域网中的sqlserver2000服务器,以及其中包含的数据库呢??
- 数据库编辑报错!
- 控件的相对位置问题
- 有关dbgrid的问题,急急急啊,各路英雄请指教啊,我怕饭碗不保啊!
- 难题,大家一起来:若只知道一个表的物理名,如何对它进行添加,删除,浏览等操作
- 在Delphi6中用到过Mapobjects2的高手请进!
- 关于读取txt文件
也不行,只要带括号就不行,不带可以,不知道错在那里
使用OnFilterrecord
我的这样可以。
我也不知道,应该是ado自身的缺陷。问微软吧。
filter中
'(a <> 0 and b = 2) OR c = 3'
'(a <> 0 and b = 2) AND c = 3'
'(a <> 0 OR b = 2) OR c = 3'
都是可以的
'(a <> 0 or b = 2) and c = 3'
不可以。'a <> 0 and b = 2 OR c = 3'
相当于'(a <> 0 and b = 2) OR c = 3'生成的值拷贝到adoquery的filter属性中:
你使用“(a <> 0 or b = 2) and c = 3”看看,一定不可以!
studysupermap:
'a>0 and'+#39+'('+#39+'b=3 or c=9'+#39+')'+#39
可以吗?我很怀疑.
其最终的格式是:
a>0 and'('b=3 or c=9')'
这样可以用??
a <> 0 and (b = 2 OR c = 3)//不可以
但是等价于:
(a <> 0 and b = 2) OR (a<>0 and c = 3)(只能先and后or, 不能先or后and)