GARANTIR DESCONTO

Fórum gravar dados na tabela detalhe #571833

30/11/2016

0

O sistema não da erro, mas não grava na tabela de detalhe, já não sei mais o que fazer, estou usando os componentes da paleta zeos.
veja me essa listagem abaixo, se alguém puder me ajudar, por favor me socorra


Tabela Mestre
Calibracao
PK ID Integer
DataEmissao TimeStamp
DataEntrega TimeStamp
TotalPedido Numeric(12,2)

Tabela Detalhe
CalibraItens
PK ID Integer
FK ID_Calibracao Integer
Produto Varchar(30)
Qtde Numeric(12,2)
Obs: PK = Chave Primária; FK = Chave Estrangeira.


ZConnection = Sua conexão com o banco devidamente configurada
SQLZQuery
SQL = select * from pedidos
Name = sqlMestre

DataSetProvider
DataSet = sqlCalibracao
Name = dspCalibracao

ClientDataSet
Name = cdsCalibracao
ProviderName = dspCalibracao

DataSource
Name = dsCalibracao
DataSet = cdsCalibracao

Componentes da tabela detalhes.
SQLZQuery
Name = sqlCalibraItens
SQL = select * from ItensCalibracao
ZConnection = Sua conexão devidamente configurada


DataSetProvider
Name = dspCalibraItens
DataSet = sqlCalibraItens

ClientDataSet
Name = cdsCalibraItens
IndexFieldsNames = ID_Calibracao
MasterFields = ID

DataSource
Name = dsCalibraItens
DataSet = cdsCalibraItens


===========================================================


Eevento OnCreate do formulário
cdsCalibracao.Open;
cdsCalibraItens.Open;
cdsCalibraItens.MasterSource := dsCalibracao;


=================================================================


Código do botão inserir

cdsCalibracao.Open;
cdsCalibracao.Append;
cdsCalibraItens.Open;
cdsCalibraItens.Append;


==================================================


Código do botão gravar

procedure TForm1.Button2Click(Sender: TObject);
var novo: boolean;
begin
novo:= (dsCalibracao.State = dsInsert);
dsCalibracao.DataSet.post;
if dsCalibracao.DataSet is TClientDataSet then
begin
if (TClientDataSet(dsCalibracao.DataSet).ApplyUpdates(0) = 0)
and novo then
begin
dsCalibracao.DataSet.Refresh;
if dsCalibracao.DataSet.RecordCount > 1 then
dsCalibracao.DataSet.Last;
end;
end;
Antonio Santos

Antonio Santos

Responder

Posts

30/11/2016

Jones Granatyr

Qual é a mensagem de erro?
Responder

Gostei + 0

30/11/2016

Antonio Santos

não dá erro, simplesmente não grava na tabela detalhe.
só grava na tabela mestre.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar