W wangxd Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-24 #1 我允许用户自定义sql查询,但怎样才能获得其查询中用了那几个表呢? 如:select * from a,b where a.age>b.age 我怎样才能获得a,b这两个表名呢?
C CJF Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-24 #3 自己分析SQL语句,放在from和where之间的就是了,逗号分隔。。
D DelPhiFreshman Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-25 #4 楼上同志说的不错。请用pos, copy等函数自己分析Sql语句 程序段如下(仅参考) function GetTableName(MySQL :String) : STRING ; VAR FromPos , WherePos : integer ; begin FromPos := Pos('From',MySql) ; WherePos := Pos('Where',MySql) ; Result := copy(MySql,FromPos, WherePos-1) ; end;
楼上同志说的不错。请用pos, copy等函数自己分析Sql语句 程序段如下(仅参考) function GetTableName(MySQL :String) : STRING ; VAR FromPos , WherePos : integer ; begin FromPos := Pos('From',MySql) ; WherePos := Pos('Where',MySql) ; Result := copy(MySql,FromPos, WherePos-1) ; end;
W wangxd Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-25 #5 没有更好的办法吗? 我的情况比较特殊,最好Tquery直接有这个功能。