我如何真正提交用QUERY SQL 新增的一筆ORACLE數據(200分)

  • 主题发起人 主题发起人 johnlhr
  • 开始时间 开始时间
J

johnlhr

Unregistered / Unconfirmed
GUEST, unregistred user!
我前台為DELPHI5 後台為ORACLE 8.1.6
當我用QUERY SQL 動態給insert into ls values ('12','11')
用QUERY1.ExecSQL時我在數據庫中並未看到此筆記錄的信息,
只有當我將此程式關閉時也就是說當與數據庫關聯斷開時
此筆記錄才真正出現在ORACLE數據庫中,
請各位大儼多加指點..小弟在此謝了
 
Query1.CommitUpdates
 
這樣不行啊.
出現Invalid Handle to the function
 
你的系统是几曾结构的?
在3层中有时存在这个问题。ORACLE的客户端查看没有插入记录,但在服务端实际已经有记录存在了。并且不会报错。
//关注此题。
 
是c/s型的,
我在三層中還未碰到此類問題
 
有用了事务吗?
ps:我感觉他不像三层..
 
不是三層,是c/s沒有用事務,很簡單的處理,目的是為了測試
只是有一個database1,query1,button1,在button1中提交query1.execsql
就是這樣的,麻煩您了
 
D5是有这个问题(D4就没有),当时我跟导师是这么做的,post后再强制提交一下:
try
QUERY1.Database.StartTransaction;
QUERY1.Database.Commit;
except
QUERY1.Database.Rollback;
end;
以后一直这么用(仅D5下)
 
不要database1,直接用query连数据库,try一下......
 
我知道了,
因其未提交
代碼如下:謝謝各位,人人有分
query1.SQL.Clear;
query1.sql.Add('insert into ls values ('+''''+'12'+''''+','+''''+'11'+''''+')');
QUERY1.ExecSQL;
query1.SQL.Clear;
query1.sql.Add('commit');
QUERY1.ExecSQL;
 
多人接受答案了。
 
后退
顶部