用ADOQuery1.ExecSQL; 执行了一个sql语句(含insert操作)。执行后出现下面的异常:
project Project1.exe raised exception class EDatabaseError with message 'ADOQuery1: CommandText does not return a result set'. process stopped.
但是查看表的内容发现插入已经成功了,而且在sql server环境下执行此语句也是正确的,请问这是怎么回事呢?
project Project1.exe raised exception class EDatabaseError with message 'ADOQuery1: CommandText does not return a result set'. process stopped.
但是查看表的内容发现插入已经成功了,而且在sql server环境下执行此语句也是正确的,请问这是怎么回事呢?
解决方案 »
- 窗口不按指定参数就位
- delphi2009与ie8 beta2的兼容问题
- QReport 中memo的换行问题
- 怎样在数据集中增加一个字段?(数据库中没有这个字段,我增加这个字段是为了记录前台处理的一些状态,要求这个字段可编辑)
- 关于窗体继承的几个问题,请OO高手帮忙解答,谢谢!
- 如何通过编程实现通过在局域网中输入对方机器密码就可以得到对方的文件列表,并且能够下载,up就有分
- 难道真没有人在D5中嵌套过汇编吗?????????
- 如何实现图形的不规则的拷贝
- 不好意思!分数有什么用啊?见笑!
- 有没有人知道-大富翁-啊?
- 一段比较简单的程序,有人能看出它错在哪里吗,谢谢
- 在DBGrid对象中,移动一行将触发什么事件?
'非select ...'请用ADOQuery1.ExecSQL
ADOQuery1.Active := false;
ADOQuery1.Connection := ADOConnection1;
ADOQuery1.SQL.Clear;
str := 'insert into achieve (SFZH,cError,cTotal,wError,wTotal,eError,eTotal,DETAILS,TOTAL,achieve) select T1.SFZH,T1.cError,T1.cTotal,T2.wError,T2.wtotal,T3.eError,T3.eTotal,T4.DETAILS,T4.TOTAL,T1.cTotal+T2.wTotal+T3.eTotal+T4.Total'
+ ' from Choice_Scores T1, Word_Scores T2, Excel_Scores T3,Access_Scores T4 where T1.SFZH=T2.SFZH and T2.SFZH=T3.SFZH and T3.SFZH=T4.SFZH' ;
ADOQuery1.SQL.Add(str);
ADOQuery1.Active := true;
ADOQuery1.ExecSQL;
没有select语句,不要用ExecSQL