为什么用odac连接局域网的oracle数据库看不到数据
执行了update语句,但表中的数据无任何改变我用的是OraSession,OraQuery
其中OraSession的 Net := True
分数不是问题
执行了update语句,但表中的数据无任何改变我用的是OraSession,OraQuery
其中OraSession的 Net := True
分数不是问题
解决方案 »
- (散分)杭州有哪些大型的有名的 IT企业,软件公司?
- 如何返回接口?
- 刚入门,请各位高手帮忙指导下。万分感谢!
- dbgrid的问题。
- 请问如何实现语音的在线传输与接收???
- Delphi应该不能实现这个功能吧!
- 请各位有过管理系统开发经验得朋友给个建议吧,软件定价如何?谢谢了!
- 用ShellExecute打开文件后,如何再将打开的文件关闭?
- 实时发送与接收音视频流应选用哪一种传输控件?
- 请问高手:我想用程序代码在PageControl中加入WebBrower控件(在程序的其它部位已用到了这个控件),我要如何写代码,具体要加到PageControl的哪个页内?
- delphi有已经发布的商业化或免费的windowless组件库么?
- 类名相同 标题相同的两个的控件区分
再看oraSession,oraQuery的AutoCommit是怎么设置的,先做个select看看有没有结果啊.
orasession1.Server := '192.168.0.1:1521:ora9i';
orasession1.Username := 'user';
orasession1.Password := 'password';
orasession1.AutoCommit := false;
orasession.Connected := true;
首先:要双击osrsession将net,detail都打上勾
其次:看看autocommit的属性是什么,如果是false则需要用事务进行提交,否则需要关闭窗体提交。
一般时都用autocommit=false,用事务来控制操作。
orasession1.StartTransaction
try
.....
oraquery1.
orasession1.Commit;
except
orasession1.Rollback;
end;
oraSession:TOraSession;
begin
oraSession:= TOraSession.Create(Owner);
oraSession.ConnectString:= Format('%s/%s@%s:1521:%s',['system', 'manager', '127.0.0.1', 'orcl']);
oraSession.Options.Net:= true;
try
oraSession.Connected:=true;
OraQuery1.Connection:= oraSession;
with self.OraQuery1 do
begin
SQL.Clear;
// SQL.Add('create table test(cid number)');
// SQL.Add('insert into test values(1)');
SQL.Add('update test set cid=51');
ExecSQL;
end;
finally
oraSession.Connected:= false;
oraSession.Free;
end;
end;
测试没有发现什么问题
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, MemDS, DBAccess, Ora, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
oraSession:TOraSession;
oraQuery: TOraQuery;
begin
oraSession:= TOraSession.Create(Owner);
oraSession.ConnectString:= Format('%s/%s@%s:1521:%s',['system', 'manager', '127.0.0.1', 'orcl']);
oraSession.Options.Net:= true;
oraQuery:= TOraQuery.Create(Owner);
try
oraSession.Connected:=true;
oraQuery.Connection:= oraSession;
with oraQuery do
begin
SQL.Clear;
// SQL.Add('create table test(cid number)');
// SQL.Add('insert into test values(1)');
SQL.Add('update test set cid=5122');
ExecSQL;
end;
finally
oraSession.Connected:= false;
oraSession.Free;
oraQuery.Free;
end;
end;end.oraSession,oraQuery全部动态创建测试一下,我这里还是没有问题,你的登陆用户什么权限,是DBA么?
我一直用odac连oracle,要不你的代码贴出来大家看看