Delphi如何判断sql语句是查询语句还是执行语句 Delphi中对于sql查询语句调用的是ADOQuery1.Open使生效,而对于非查询语句(没有返回结果集)是调用ADOQuery1.ExecSQL,使生效的,请问如何判断一个sql语句是查询语句还是非查询语句,尝试利用pos函数查找关键字select,但是这种方法不适用于带有子查询的非查询语句,请问有没方法解决这一问题? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用try Open;except ExecSQL;end; 应该在设计上规避这个问题吧。比如使用两个ADOQuery,一个专用于查询,一个专用于更新,在编码时视业务逻辑分别在不同ADOQuery上执行。 1、简单点的话就判断select开头还是别的吧2、正则表达式判断关键结构,如“select ... from”、“update .... from”等3、设计上回避,如果你的不是通用框架,调用方应该知道调用哪个方法 拆分你的sql取第一个空格前的单元内容看是select还是delete还是update不久的了 我的所有update/delete语言都是查询语句因为最后会自动加上一行:select @@rowcount as fret 这个可行,但是新问题是他会执行两次sql语句 那就分3次查找:"insert","delete","update" dll之间怎么传递参数? 大家帮忙看看代码吧!编译不了 delphi中关于数据库的 ★急问,4 bytes big endian (Mac style)格式转换为little endian的问题!顶者有分!★ dxDBTreeView中如何定位? 开发数据库三层结构的问题?急 关于treeview控件 怎么用delphi实现文件的操作?请多指点~~! 一个简单问题,请指教 stringlist的SaveToFile()出错了,我真菜 Delphi 7进行网络编程时是不是不用直接使用winsock控件了??? 还是关于多线程的问题
try
Open;
except
ExecSQL;
end;
2、正则表达式判断关键结构,如“select ... from”、“update .... from”等
3、设计上回避,如果你的不是通用框架,调用方应该知道调用哪个方法
取第一个空格前的单元内容看是select还是delete还是update不久的了
因为最后会自动加上一行:
select @@rowcount as fret