我在一个FORM上放了一个ADODATASET,DATASOURCE,和ADOQUERY,ADOCONNECTION,
当我用ADOQuery1先对表T1查找后,用了ADOQuery1.open,再用ADOQUERY1进行增加记录的时候(用了ADOQuery1.Execsql)就会报错。经过检查发现是同一个ADOQUERY组件用了OPEN方法后再用EXECSQL 方法后出现的这个情况,不知道有什么办法可以解决这个问题?
源代码如下:
ADOQuery1.Close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from T1');
ADOQuery1.open;
``````
`````
``````
`````````
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADoQUEry1.sql.ADD('Insert Into T1 Valuse (:a1,:a2)');
ADOQuery1.parameters.paramByName('a1').value:=Edit1.Text;
ADOQuery1.parameters.paramByName('a2').value:=Edit2.Text;
ADOQuery1.ExecSql;
~~~
```````````
```````
当我用ADOQuery1先对表T1查找后,用了ADOQuery1.open,再用ADOQUERY1进行增加记录的时候(用了ADOQuery1.Execsql)就会报错。经过检查发现是同一个ADOQUERY组件用了OPEN方法后再用EXECSQL 方法后出现的这个情况,不知道有什么办法可以解决这个问题?
源代码如下:
ADOQuery1.Close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from T1');
ADOQuery1.open;
``````
`````
``````
`````````
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADoQUEry1.sql.ADD('Insert Into T1 Valuse (:a1,:a2)');
ADOQuery1.parameters.paramByName('a1').value:=Edit1.Text;
ADOQuery1.parameters.paramByName('a2').value:=Edit2.Text;
ADOQuery1.ExecSql;
~~~
```````````
```````
解决方案 »
- delphi 16进制如何转换成BCD码????
- 一个关于activex的问题!标题长点引人注意!
- 郁闷,我昨天在书店看见好几个民工模样的人在看java的书
- access中两个关联表的更新和删除..急..
- 如何把声音和视频文件存放到数据库中呢,不存放文件名.
- 全国最便宜的网上家园!支持JSP,asp,asp.net,php,cgi
- 大虾帮忙!在edit控件中录入了50个字符,可是保存后就截成20个字符了?
- 请问如何使用FileListBox的一些属性?小问题!!!高手请进!!!!!
- 正在使用Delphi开发应用软件的构建平台,欢迎各位拍砖!
- 拜托有谁可快点告诉我,改变某个字段在所有记录中的值??
- 怎样取得一个文件的相对路径?
- 怎样把查询出来的结果赋给一个xml对象?
ADoQUEry1.sql.ADD('Insert Into T1 Values (:a1,:a2)');
edit,post;
ADOQuery1.open
except
ADOQuery1.execSql
end
检查你的T1表里面的字段数量和字段类型
错误代码为(access violation at address 1F453E6E in module 'msado15.dll',Write Of
address 0108A00C)
如果我再定义一个ADOQuery2与ADOQuery1分开来,一个只负责查询(用open方法),一个负责添加(用ExecSql方法),就不会报错.
ADOQuery1.Connection.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.parameters.clear;
ADoQUEry1.sql.ADD('Insert Into T1 Valuse (:a1,:a2)');
ADOQuery1.parameters.paramByName('a1').value:=Edit1.Text;
ADOQuery1.parameters.paramByName('a2').value:=Edit2.Text;
ADOQuery1.ExecSql;
第二个问题:
到目前为止,我只能发现只有TADOQuery.Free以后才能完全断开这个连接;