[请教]从文件中读取sql语句,类型未定,有可能是查询的,也可能是更新的

smalldeer 2004-10-22 05:25:57
譬如文件中
1.select * from table
2.update table set ...

不管是select型的,还是update,insert,delete型的,读出来的都是字符串
然后传到统一的sql执行方法execute,来处理,如
function execute(string sql)
begin
adoquery1.sql.add(sql);
adoquery1.open();????
adoquery1.execsql();???
adoquery1怎么知道是用open方法还是用execsql方法呢
end

请教了,谢谢
...全文
73 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
smalldeer 2004-10-22
  • 打赏
  • 举报
回复
我先试试
Try
Open;
Except
ExecSql;
End;
这个吧,如果不行,那只能用下面这个了
if pos('select', sql) > 0 then
adoquery1.open();
else
adoquery1.execsql();

这样的我
pengxuan 2004-10-22
  • 打赏
  • 举报
回复
if Pos('select',sql)>0 then
adoquery1.open()
else
adoquery1.execsql;
GoldShield 2004-10-22
  • 打赏
  • 举报
回复
Try
Open;
Except
ExecSql;
End;
...应该可以吧,没试过
lcg412 2004-10-22
  • 打赏
  • 举报
回复
判斷SQL﹐如果里面有'select'字樣﹐就用open﹐否則就用exesql
梅青松 2004-10-22
  • 打赏
  • 举报
回复
if pos('select', sql) > 0 then
adoquery1.open();
else
adoquery1.execsql();???
Nirvanaxumm 2004-10-22
  • 打赏
  • 举报
回复
不用判断,用
Try
Open;
Except
ExecSql;
End;
应该就可以解决了,试试吧。
纯冰糖 2004-10-22
  • 打赏
  • 举报
回复
那就load进入TStringList里边,然后判断是否有select,update

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧