小
小阿文
Unregistered / Unconfirmed
GUEST, unregistred user!
我是新手,現請教各位大俠:
1.在c/s系統中維護一對多關系,主表 (in_hd) /明細表 (in_de),
暫用 paradox表,關鍵字段 in_no 中間有 Referential Integrity 屬性.
2.用兩個 query 維護,兩個表的databasename 皆為database控件的databasename
主表的 query 的sql語句:select * from in_hd
requestlive=true
顯示控件為dbedit ;
明細表的 query 的sql語句:select * from in_de where in_no=:in_no
datasource=ds_in_hd
即用 datasource歸屬性給參數賦值
requestlive=true
顯示控件為dbgrid ;
現在數據顯示沒有問題,說明連接正確
如何新增修改?
新增按紐的click事件:
begin
...
qy_in_hd.append //新增主表
...
end;
明細表是在 DBGrid1EditButtonClick中 append 然后當記錄指動移動時自動 post
存盤按紐click事件:
begin
try
if not Database.InTransaction Then Database.StartTransaction;
qy_in_hd.ApplyUpdates;
qy_in_hd.CommitUpdates;
QY_in_de.FieldByName('In_no').AsString:=dbedit1.text;
Qy_in_de.ApplyUpdates;
Qy_in_de.CommitUpdates;
except
Application.MessageBox('save failue','out order',mb_ok+mb_iconQuestion);
Qy_in_de.CancelUpdates;
qy_in_hd.CancelUpdates;
Database.Rollback;
end;
if Database.InTransaction then
Database.Commit;
end;
現間題如下:明細表不可存盤,正常的流程是怎樣的?
1.在c/s系統中維護一對多關系,主表 (in_hd) /明細表 (in_de),
暫用 paradox表,關鍵字段 in_no 中間有 Referential Integrity 屬性.
2.用兩個 query 維護,兩個表的databasename 皆為database控件的databasename
主表的 query 的sql語句:select * from in_hd
requestlive=true
顯示控件為dbedit ;
明細表的 query 的sql語句:select * from in_de where in_no=:in_no
datasource=ds_in_hd
即用 datasource歸屬性給參數賦值
requestlive=true
顯示控件為dbgrid ;
現在數據顯示沒有問題,說明連接正確
如何新增修改?
新增按紐的click事件:
begin
...
qy_in_hd.append //新增主表
...
end;
明細表是在 DBGrid1EditButtonClick中 append 然后當記錄指動移動時自動 post
存盤按紐click事件:
begin
try
if not Database.InTransaction Then Database.StartTransaction;
qy_in_hd.ApplyUpdates;
qy_in_hd.CommitUpdates;
QY_in_de.FieldByName('In_no').AsString:=dbedit1.text;
Qy_in_de.ApplyUpdates;
Qy_in_de.CommitUpdates;
except
Application.MessageBox('save failue','out order',mb_ok+mb_iconQuestion);
Qy_in_de.CancelUpdates;
qy_in_hd.CancelUpdates;
Database.Rollback;
end;
if Database.InTransaction then
Database.Commit;
end;
現間題如下:明細表不可存盤,正常的流程是怎樣的?