ADOQuery查询(50分)

  • 主题发起人 主题发起人 fuku
  • 开始时间 开始时间
F

fuku

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟用ADOQuery做一个查询,为了实现:
select * from table1 where num > convert(smallint,'10')的效果,将其SQL属性设为
'select * from table1',Filter设为:
fieldname+' '+'>'+' convert(smallint,'+value+')',String型变量fieldname
和value的值'num'和'10'在程序中赋予,运行提示类型错或超出可接受范围或冲突,
将filter改为:fieldname+' '+'>'+' convert(smallint,'+''''+value+''''+')',
错误依旧,没有用到类型转换的'='和'like'则可以实现,小弟驽钝,请大哥指点。
 
filter是本地执行的,不支持like,对convert这样的服务器端的函数也不支持
 
此问题只要去掉convert,改为fieldname+'>'+''''+value+''''即可,因为num
字段类型虽然是smallint,但程序中fieldname和value俱为string类型,所以不必进行
类型转换。
 
接受答案了.
 
这种查询不要用Filter做,直接用SQL语句去后台取就行了
Filter会把先把所有数据取到前台,然后再在前台进行过滤,这样会增加网络传输量
 
后退
顶部