关于adoquery第二次打开就报错的问题(100分)

  • 主题发起人 主题发起人 恶魔佐罗
  • 开始时间 开始时间

恶魔佐罗

Unregistered / Unconfirmed
GUEST, unregistred user!
我是写在过程中:<br>procedure opendata1(ado:tadoquery;str:string);<br>begin<br>&nbsp; try<br>&nbsp; &nbsp; ado.Close;<br>&nbsp; &nbsp; ado.SQL.Clear;<br>&nbsp; &nbsp; ado.SQL.Text:=str;<br>&nbsp; &nbsp; ado.Open;<br>&nbsp; except<br>&nbsp; &nbsp; application.MessageBox('打开数据错误!','系统提示',$30) ;<br>&nbsp; &nbsp; abort;<br>&nbsp; end;<br>end;<br>然后再具体程序界面里执行opendata1(form.adoquery1,'select * from table');第一次没有问题,但是第二次执行这个界面的时候就报错了,单步执行检查是执行sql.clear后直接就到打开数据库错误?奇怪?不知道是什么原因?
 
报错内容是:access violation at address 00000000....
 
晕,没人吗?delphi真的是用的人越来越少了哦
 
ado:tadoquery<br>试修名:<br>ado1:tadoquery
 
贴出调用 opendata1 的地方的代码来看看。
 
调用就是直接opendata1(form.adoquery1,'select * from table')这句话呀!
 
找到原因,因为我是调用子界面,忘记createform了,谢谢大家。
 
多人接受答案了。
 
看异常的提示,应该是类型不匹配的问题,检查一下带入的参数.要不把代码全部贴出来吧
 
后退
顶部