A
afeisky
Unregistered / Unconfirmed
GUEST, unregistred user!
在多表更新中:
中间层:
ADODataSet1的CommandText:='Select a.*,b.FName from table1 a,table2 b where a.id1=b.id2'
DataSetProvider1指向ADODataSet1
客户端:
ClientDataSet1 指向 DataSetProvider1
运行:
对ClientDataSet的id1和FName字段填写值。
出错,系统提示:列名 'FName' 无效。 ?
为了这个问题:
我用了在以下办法:(都不起作用?)
procedure TCoClass1.DataSetProvider1BeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind; var Applied: Boolean);
begin
DeltaDS.FieldByName('KeyID').ProviderFlags :=
DeltaDS.FieldByName('KeyID').ProviderFlags + [pfInKey]
DeltaDS.FieldByName('FName').ProviderFlags :=
DeltaDS.FieldByName('FName').ProviderFlags - [pfInUpdate];
end;
procedure TCoClass1.ADODataSet1AfterOpen(DataSet: TDataSet);
begin
ADODataSet1.Recordset.Properties.Item['Unique Table'].Value := 'table1'
end;
哪位大侠能帮帮我吗?
先谢谢你!
中间层:
ADODataSet1的CommandText:='Select a.*,b.FName from table1 a,table2 b where a.id1=b.id2'
DataSetProvider1指向ADODataSet1
客户端:
ClientDataSet1 指向 DataSetProvider1
运行:
对ClientDataSet的id1和FName字段填写值。
出错,系统提示:列名 'FName' 无效。 ?
为了这个问题:
我用了在以下办法:(都不起作用?)
procedure TCoClass1.DataSetProvider1BeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind; var Applied: Boolean);
begin
DeltaDS.FieldByName('KeyID').ProviderFlags :=
DeltaDS.FieldByName('KeyID').ProviderFlags + [pfInKey]
DeltaDS.FieldByName('FName').ProviderFlags :=
DeltaDS.FieldByName('FName').ProviderFlags - [pfInUpdate];
end;
procedure TCoClass1.ADODataSet1AfterOpen(DataSet: TDataSet);
begin
ADODataSet1.Recordset.Properties.Item['Unique Table'].Value := 'table1'
end;
哪位大侠能帮帮我吗?
先谢谢你!