数据提交的问题(100分)

F

fakirc

Unregistered / Unconfirmed
GUEST, unregistred user!
用DBGird 通过 ADOQuery 连接SQL 数据库,其中有一个字段(jyid)的值是另一表的主键,
该字段在DBGird不显示,想通过系统自动由主表取得,在一次性往DBGird添加多行记录时
(行数不确定),怎样才能给每一行的(jyid)赋值,使每一行都添加。
 
我记得如果建立关联的话从表可以自动对该字段值修改更新
试试看
 
设置主从关系,从表的MasterFields设为jyid,由DELPHI自动赋值
 
有没有办法在提交时做到
 
既然不可见,那你在从表Post前或Insert后给它赋初值不得了?
procedure TDMForm.ADS_DJ_FPAfterInsert(DataSet: TDataSet);
//主表新增记录,设初值及初始化
begin
with DataSet do
begin
FieldByName('jyid').AsString :=主表的jyid;
end;
end;
 
建立正确关联就自动会产生,写代码!
 

在 BeforePost 事件中写如下的代码:
if DataSet.Name='cdsDataSetDetail' then // cdsDataSetDetail 为细档数据集
begin // cdsDataSetMaster 为主档数据集
DataSet.FieldByName('jyid').AsString:=cdsDataSetMaster.FieldByName('jyid').AsString;
end;
 
多人接受答案了。
 
顶部