MIDAS中為什么我保存不了資料﹖Help me! Please hurry!!(50分)

  • 主题发起人 主题发起人 dadabox1
  • 开始时间 开始时间
D

dadabox1

Unregistered / Unconfirmed
GUEST, unregistred user!
大俠們﹐我在客戶端調用ApplyUpdate(0)﹐為什么資料卻保存不了呢﹖什么都正常﹐但當我
關閉這個表單﹐重新打開后﹐卻發現并沒有保存上去﹖原因﹖謝謝﹗
procedure TFrmUser.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if DM.CDSUser.ChangeCount>0 then
//可是照著李維的書上來的呀。
DM.CDSUser.ApplyUpdates(0);
DM.CDSUser.Active:=False;
Action:=caFree;
end;
 
是没有存回数据库,还是未显示出来?
你试试直接用按钮实现。并刷新。
 
在當前操作中﹐我看到資料已經保存進去了﹐但是我退出表單﹐再進去﹐就沒資料了。好奇
怪﹖這個不需要還在Server中加入UpdateSQL吧﹖我是用的Oracle﹐Query﹐照著李維的書上
寫的來弄的。Hurry!!
 
ORCLE的确实有问题
好象是数值字段的问题
全字符可以更新
 
現在的問題更有點奇怪﹐我的一個表能夠修改﹐而另一個表不能修改。這是為什么﹐我
ApplyUpdate之后﹐修改成功的那個表的ChangeCount變為0,而不成功的那個表為1﹐就像是
提交不了似的。而若我將其改回原來的資料﹐它的ChangeCount就變為0了。我仔細檢查了
兩個表﹐發現除了開的表不一樣﹐其他的都一樣﹐這是怎么回事呢﹖真的好奇怪﹗
 
你试着改成APPLYUPDATE(0)改为APPLYUPDATE(-1) 看一看.他是把所有的都提交
 
我已試過﹐不行呀。何況保存成功的那個表在操作上都是一樣﹐為什么一個行﹐一個不行﹖
我看兩個表也實在看不出有什么不同呀。
 
不知你用的是TABLE还是TQUERY,若是后者,你的SQL是怎么生成的?建议你用SQL BUILD生成.
方法:右击该TQUERY,选第四个SQL BUILD,进去知道怎么设了嘛.重新编译服务器,再试试看.
 
可能是你对另外一张表输入的某个值超过了相应个字段的宽度,我好象有过这种经历,
你可以试试看
 
照ZHANGKAN的方法可以存了﹐但是這是為什么呢﹖為什么我在SQL中自己寫的SQL就不能保存﹖
而通過SQL BUILD就行了呢﹖我看SQL中也就是變了一點﹐但這有什么區別﹖
以前不能保存的﹕select * from test;
通過SQL BUILD寫出來的﹕select no,name,con1 from test;
注﹕no,name,con1是該表的所有欄位。解釋接受的別加50分。
 
中间层是否连的是多表数据,可能要使用UPDATESQL控件,程序语句没有问题
 
ORACLE是要用UPDATESQL的,我试过,我现在也是用ORACLE+DELPHI(多层)。在服务端加上
UPDATESQL,并连上QUERY后,应用端直接调用DM.CDSUser.ApplyUpdates(0)就行了。
 
但我后来怎么不用UpdateSQL也行呢?照zhangkan的方法。
 
算了,结束吧。
 
你在OnReconcileError事件中,写一行代码,处理一下异常,看看发生了什么事。
 
后退
顶部