如何在程序中修改Query的SQL中的某行,不是全部删除?(50分)

  • 主题发起人 主题发起人 happyfox
  • 开始时间 开始时间
H

happyfox

Unregistered / Unconfirmed
GUEST, unregistred user!
那位给提示一下:
如何在程序中修改Query的SQL中的某行,不是全部删除?
比如:我只想将order by 子句取消,其它的where不变?????
 
先取得QUERY,然后判断order by 的位置,在取之前的部分也可以呀
 
看起来简单,实际上也挺哆嗦的,关键是看你的SQL语句是怎么写进去的.
如果order by 单独占一行,你找到它,删除就可以了,如果不规则,如
select * from ?? order by ??? where by ??
你干脆Pos('order by',SQL.Text),再处理后面的东西.哆嗦!

 
谢谢..
我的SQL是多行写的,如下:
select * from adoquery
where
....
order by fieldname
=========================
我想实现在程序中动态改变 order by子句实现按dbgrig标题排序的.
我使用:
if pos('order by',adoquery.sql)>0 then
adoquery.sql.delete(i);
可if 语句不取作用,有什么问题吗??? 请指教!!!!
 
i:=pos('order by',adoquery.sql.text)
adoquery.sql.text:=copy(adoquery.sql.text,1,i-1)
 
后退
顶部