有关SQL语句有效性检查问题

飞雁 2012-11-06 11:53:02
SQL语句:select loc,loc_nam from loc
若通过ADOQuery执行:
set parseonly on
select loc,loc_nam from loc
set parseonly off
是可以通过,没有什么问题。
但是我的数据库中就没有loc表,以上的语句是检查不出来的!
请教大家,有没有更好的SQL语句检查方法,在DELPHI中,通过一种什么方式能检查SQL语句是否正确,包括语法是否正确,表是否存在,字段是否存在...
...全文
278 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2012-11-22
  • 打赏
  • 举报
回复
SET FMTONLY { ON | OFF } 备注 当 SET FMTONLY 为 ON 时,不会因请求而对任何行进行处理或将其发送到客户端。 SET FMTONLY 的设置是在执行或运行时设置,而不是在分析时设置。
dyf0130 2012-11-22
  • 打赏
  • 举报
回复
最偷懒的方法是 强行将你的sql + where 1=2
kaikai_kk 2012-11-06
  • 打赏
  • 举报
回复
open/execsql不就檢測了嗎,用try ... except end
SQLDebug_Fan 2012-11-06
  • 打赏
  • 举报
回复
parseonly是检查语法,并不判断是否存在这个表。 获取表和字段列表,然后自己判断?
飞雁 2012-11-06
  • 打赏
  • 举报
回复
只想检查,不想执行,检查比较快,执行的话速度很慢的,不仅仅是上百条数据,有可能上万条记录,就在SQL中执行select loc,loc_nam from loc句话就需要10多秒时间!

2,498

社区成员

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

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