我用adoquery连接oracle,
我的程序在sybase下均通过,换成oracle数据库后,查询可以,但插入不行,而我直接用插入命令在oracle客户端执行也行,换了各种数据驱动都是这样,也装了Microsoft Data Access Components 2.7,请教可能会是什么原因!!???1)
以下程序是在oracle执行;
Provider=OraOLEDB.Oracle.1;Password=pass111;Persist Security Info=True;User ID=usr999;Data Source=ORACLE;adoquery1.close;
ADOquery1.SQL.text:=sqlstr;
ADOquery1.open;我用DBGrid组件能看到查询的数据2)
sqlstr:= ..(语句略,该语句在showmessage显示出来的sql命令在oracle终端执行通过)
showmessage(sqlstr);
memo2.lines.add(sqlstr);
memo2.lines.savetofile('日志.log');
adoquery1.close;
ADOquery1.SQL.text:=sqlstr;
ADOquery1.execsql;运行后程序一直停在那里,什么反应都没有,该程序在sybase 下通过;不知道为什么会这样
我的程序在sybase下均通过,换成oracle数据库后,查询可以,但插入不行,而我直接用插入命令在oracle客户端执行也行,换了各种数据驱动都是这样,也装了Microsoft Data Access Components 2.7,请教可能会是什么原因!!???1)
以下程序是在oracle执行;
Provider=OraOLEDB.Oracle.1;Password=pass111;Persist Security Info=True;User ID=usr999;Data Source=ORACLE;adoquery1.close;
ADOquery1.SQL.text:=sqlstr;
ADOquery1.open;我用DBGrid组件能看到查询的数据2)
sqlstr:= ..(语句略,该语句在showmessage显示出来的sql命令在oracle终端执行通过)
showmessage(sqlstr);
memo2.lines.add(sqlstr);
memo2.lines.savetofile('日志.log');
adoquery1.close;
ADOquery1.SQL.text:=sqlstr;
ADOquery1.execsql;运行后程序一直停在那里,什么反应都没有,该程序在sybase 下通过;不知道为什么会这样
解决方案 »
- 请教,这段代码有什么问题?
- 欲哭无泪中,sybase12.52+ado
- 请问box声音文件用什么工具打开。同时用什么可以转化?
- 求delphi操作xml文件的例子、技术资料!谢了!
- SQL SERVER7的数据库恢复问题
- 首次上来,想要一个查询。
- 什么叫做组件定制开发?
- 文件读入到一个pointer得缓冲区中,然后调用vc动态库得一个函数,该函数要传入longint得缓冲区地址,怎么实现? 在线等!!!
- 各位大侠,哪有Delphi 5 开发人员指南的电子文档下载????????
- 关于一个WinAPI的问题,有些难!
- 用delphi能不能做出一个像visio的程序(实现visio中的某些功能如画图即可)
- 如何在StringGrid当前行第一列也像DBGrid样标出箭头呢?
首先,视图的修改是有条件的,不是所有的视图都能修改。其次,ADO虽然能修改一些视图,但是是非常有限的,具体我的我不知道,BDE的知道些。BDE在视图的更新方面提供了TUpdateSQL控件,这个控件理论上可以修改任何你想修改的视图。
ADO和其后的DBX没提供这个控件,但是VCL却提供了另外的方法。ADOQuery -> DataSetProvider -> ClientDataSet利用Clientdataset来修改数据,
DataSetProvider 提供了一个事件 BeforeUpdateRecord,你看看他的help,你可以在里面写自己的SQL来实现TUpdateSQL的功能,用它来修改视图。
执行后也是一样,程序没有反应,我设了commandtimeout值为5
try
showmessage(sqlstr);
adoquery1.close;
ADOquery1.SQL.text:=sqlstr; //执行到这一步,在这一步停住了;
s:=ADOquery1.execsql;
showmessage('sql成功!s 值为'+inttostr(s));
except
showmessage('数据库链接出错,s值为'+inttostr(s));
end;
AdoQuery1.SQL.Clear; //加上这一句试试
ADOquery1.SQL.text:=sqlstr;
结果也一样。我正式写的时候有clear;