怎样检查sql语句的语法 找药品进销存系统
2楼: SQL语句应该是要在查询分析器里先验证过之后,才再往程式里写的吧。 如进销存表格
3楼: 查询分析器
4楼: 查詢分析器,這樣的貼你也開100分啊,太富裕啦
5楼: 我说了要在程序里分析,我的目的就是要分析一条sql语句是否正确。
如在memo 里写一段sql语句
点击‘检查’则分析这条语句,有没有语法错误!
6楼: 应该和CreateOleObject(''SQLDMO.Application'')有关。请做过的朋友帮帮忙
仓库管理软件版7楼: sqlserver 有这样的环境开关, 需要单独执行,切记检验完后用off
set parseonly on
set parseonly off
8楼: SQLDMO几乎能实现企业管理器的所有功能,但是我查了半天,也没发现语法检查的例子。
9楼: TO:shangshang
照你写的做也不行啊,我写的sql如下
''set parseonly on delete from Atest1 set parseonly off''
TO:babibean
有关于SQLDMO的资料么,可以发给我么?
aaawzp@yahoo.com.cn
10楼: [red]需要单独执行[/red]
你需要分开执行,不可以跟要检查的语句放在一起,ok?好好看我的说明
11楼: 如果set parseonly on后我乱写一通sql语句
然后再set parseonly off
并不能知道这个语句错在哪里啊
12楼: 龙之吻,我也是看的帮助啊,你在sql的帮助的索引里查‘SQL-DMO, examples’,就能看到很多例子. 如药品进销存系统
13楼: 用 Try except 来执行一下!
仓库管理软件版14楼: 你想写语法分析工具不成?
执行的sql语句如果有语法错误,会由数据库抛出异常给你的程序,包含了错误级别,错误代码,错误描述,你用异常捕获它,然后显示给用户还不行??
15楼: 我的理解你是否需要返回SQL语句的执行状态,如果是错误,返回错误信息?
如果是用ADOConnection的话,返回ADOConnection执行后的错误
16楼: 即便是查询分析器,也只是反馈执行后的错误。
17楼: 我随便做了例子:
在Form上放一个ADOConnection,一个Memo,一个Edit,一个Button,设置好ADOConnetion的连接字符串
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
begin
Memo1.Clear;
try
ADOConnection1.Execute(Edit1.Text);
Memo1.Lines.Add(''没有问题'');
except
for i := 0 to ADOConnection1.Errors.Count -1 do
Memo1.Lines.Add(ADOConnection1.Errors[i].Description);
end
end;
18楼: 捕获异常啊,楼上的就是。
19楼: 问题解决
给分
20楼: 那么多人给你帮忙出主意,你不把你的解决方法总结一下给大家相互学习吗?[:(]