主从表问题(30分)

  • 主题发起人 主题发起人 fshrq1
  • 开始时间 开始时间
F

fshrq1

Unregistered / Unconfirmed
GUEST, unregistred user!
在从表增加记录后按保存,主表的记录能保存,而从表的记录就不能保存,在UpdateBatch
前在DBGrid输入的从表数据已经没有,adoquery是批处理,主表的afterpost语句如下:
fmDM.acoSystem.BeginTrans;
try
aqurBSMaterielItem.UpdateBatch(); 从表
aqurBSMateriel.UpdateBatch(); 主表
fmDM.acoSystem.CommitTrans;
except
fmDM.acoSystem.RollbackTrans;
Application.MessageBox('保存数据出错。','旭升管理系统',MB_ICONINFORMATION);
end;

错在哪里?
 
fmDM.acoSystem.BeginTrans;
try
aqurBSMateriel.Applyupdate; 主表
aqurBSMaterielItem.applyupdate; 从表
fmDM.acoSystem.CommitTrans;
except
fmDM.acoSystem.RollbackTrans;
Application.MessageBox('保存数据出错。','旭升管理系统',MB_ICONINFORMATION);
Exit;
end;
aqurBSMateriel.commitupdate; 主表
aqurBSMaterielItem.commitupdate; 从表
 
这段语句没错,但不应改写再主表的afterpost中,直接写再savebuttonclick中
 
我的主从表是在继承做的,开始的时候没有错,后来改了一些控件,改了一些事件,就
出现只能保存主表,不能保存子表
 
请问数据库的表是怎样设计的,用不用有什么关联的
 
fmDM.acoSystem.BeginTrans;
try
aqurBSMateriel.UpdateBatch(); //First update master table[:)]
aqurBSMaterielItem.UpdateBatch(); //then update detail table[:)]
fmDM.acoSystem.CommitTrans;
except
fmDM.acoSystem.RollbackTrans;
Application.MessageBox('保存数据出错。','旭升管理系统',MB_ICONINFORMATION);
end;

 
现在我最想知道数据库的表是怎样设计的,表之间用不用有什么关联的,语法不用再写
 
多人接受答案了。
 
我也是,我把代码写在Button中,也只能保存主表
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部