怎样知道TAdoCommand对象执行Execute方法后返回一个有效的RecordSet?(100分)

  • 主题发起人 主题发起人 forgot2000
  • 开始时间 开始时间
F

forgot2000

Unregistered / Unconfirmed
GUEST, unregistred user!
当我写
AdoCommand1.text=edit1.text;
Adodataset1.recordset:=Adocommand1.Execute;时,如果我在编辑框输入的是
"Select * from table1",则不会出错,但如果输入的是"Update table1 set id=0"
则会出错,说recordset没有打开,想写成这种形式:
if (...) then
Adodataset1.recordset:=Adocommand1.Execute
else
Adocommand1.Execute;
应该怎么做?
 
if LowerCase(Copy(Edit1.Text,1,6))='select' then
Adodataset1.recordset:=Adocommand1.Execute
else Adocommand1.Execute;
 
Adodataset1.recordset要求是一个数据集,Adocommand1.Execute中执行的命令如果不能返
回一个有效的数据集的话就会出错,要返回一个有效的数据集应当用select语句而不能使用
如update、insert之类,所以要解决你的问题就要区分以上几种语句。
 
多人接受答案了。
 

Similar threads

后退
顶部