Fórum Gravação no banco clientdatset ibquery dataset provider #242948

13/07/2004

0

Estava tudo normal na minha aplicação, quando fui tratar dos erros do campos dbedit, acabei mdificando o processo de gravação no banco,sendo assim, este ,agora não se encontra gravando mais, gostaria de saber o que esta havendo, pois não consigo ver onde é o erro que não deixa gravar no banco, o botão atualizar(Inseri um novo pedido no banco),,e o botão salvar ,,,altera modificações,,,se puderem me ajudar
Obrigado!


Deryck

Deryck

Responder

Posts

13/07/2004

Deryck

Estava tudo normal na minha aplicação, quando fui tratar dos erros do campos dbedit, acabei mdificando o processo de gravação no banco,sendo assim, este ,agora não se encontra gravando mais, gostaria de saber o que esta havendo, pois não consigo ver onde é o erro que não deixa gravar no banco, o botão atualizar(Inseri um novo pedido no banco),,e o botão salvar ,,,altera modificações,,,se puderem me ajudar Obrigado!

Esuqueci de cola o codigo

procedure TDataModule1.SalvarExecute(Sender: TObject);
Var
intC : Byte;
begin //Procedure


begin
if DataModule2.ClientDataSet.State in [DsInsert,DsEdit] then
begin
For intC := 0 To DataModule2.ClientDataSet.FieldCount -1 Do
Begin
If(DataModule2.ClientDataSet.Fields[intC].Required)Then
Begin
If( Trim (DataModule2.ClientDataSet.Fields[intC].Text) = ´´)Then
Begin
ShowMessage(´Preencha o campo ´ + DataModule2.ClientDataSet.Fields[intC].DisplayLabel);
exit;
End;
End;
End;
End;
end;

begin
if DataModule2.ClientDataSetGRID.State in [dsinsert,dsedit] Then
begin
For IntC := 0 To DataModule2.ClientDataSetGRID.FieldCount -1 Do
Begin
If(DataModule2.ClientDataSetGRID.Fields[intC].Required) Then
Begin
If( Trim (DataModule2.ClientDataSetGRID.Fields[intC].Text ) = ´´) Then
Begin
ShowMessage(´Preencha o campo ´ + DataModule2.ClientDataSetGRID.Fields[intC].DisplayLabel);
exit;
End;
End;
End;
end;
DataModule2.ClientDataSetGRID.Post;
DataModule2.ClientDataSetGRID.ApplyUpdates(-1);
DataModule2.ClientDataSet.Post;
DataModule2.ClientDataSet.ApplyUpdates(-1);
FRMinserir.Close;
End;
End; //End procedure


procedure TDataModule1.CancelarExecute(Sender: TObject);
begin

DataModule2.ClientDataSetGRID.RevertRecord;
DataModule2.ClientDataSetGRID.ApplyUpdates(0);
DataModule2.ClientDataSet.RevertRecord;
DataModule2.ClientDataSet.ApplyUpdates(0);
DataModule2.ClientDataSetCria_Id.RevertRecord;
DataModule2.ClientDataSetCria_Id.ApplyUpdates(0);
DataModule2.ClientDataSet.Close;
DataModule2.ClientDataSetGRID.Close;
DataModule2.ClientDataSet.Open;
DataModule2.ClientDataSetGRID.Open;
FRMinserir.Close;
end;


procedure TDataModule1.ExibirExecute(Sender: TObject);
begin
FRMrelat.QuickRep1.Preview;
end;

procedure TDataModule1.ExcluirExecute(Sender: TObject);
begin
DataModule2.ClientDataSet.Delete;
DataModule2.ClientDataSet.ApplyUpdates(0);
DataModule2.ClientDataSetGRID.Delete;
DataModule2.ClientDataSetGRID.ApplyUpdates(0);
DataModule2.ClientDataSet.Close;
DataModule2.ClientDataSetGRID.Close;
DataModule2.ClientDataSet.Open;
DataModule2.ClientDataSetGRID.Open;
end;

procedure TDataModule1.AlterarExecute(Sender: TObject);
begin
// DataModule2.ClientDataSet.Close;
// DataModule2.ClientDataSetGRID.Close;
// DataModule2.ClientDataSet.Open;
// DataModule2.ClientDataSetGRID.Open;
FRMinserir.Atualizar.Visible := False;
FRMinserir.Atualizar.Enabled:= False;
FRMinserir.Salvar.Visible := True;
FRMinserir.Salvar.Enabled := true;
DataModule2.ClientDataSetGRID.Edit;
DataModule2.ClientDataSet.Edit;

FRMinserir.Show;



end;

procedure TDataModule1.InserirExecute(Sender: TObject);
begin


FRMinserir.Show;
FRMinserir.Salvar.Visible := false;
FRMinserir.Salvar.Enabled := false;
FRMinserir.Atualizar.Visible := True;
FRMinserir.Atualizar.Enabled := True;
DataModule2.ClientDataSetGRID.Open;
DataModule2.ClientDataSet.Open;
DataModule2.ClientDataSetGRID.Insert;
DataModule2.ClientDataSet.Insert;



end;

procedure TDataModule1.SobreExecute(Sender: TObject);
begin
FRMsobre.Show;
end;

procedure TDataModule1.FecharSobreExecute(Sender: TObject);
begin
FRMsobre.Close;
end;

procedure TDataModule1.AtualizarExecute(Sender: TObject);
Var
intC : Byte;
begin
DataModule2.ClientDataSetGRIDPEDIDOSAIDA_ID.Value := DataModule2.ClientDataSetCria_IdCONT.Value;
DataModule2.ClientDataSetPEDIDOSAIDA_ID.Value := DataModule2.ClientDataSetCria_IdCONT.Value;
FRMinserir.DBEdit1.Text := DataModule2.ClientDataSetCria_IdCONT.Text;
FRMcons.DBGridCONS.UpdateAction(Atualizar);
FRMinserir.DBGridATUALIZA.UpdateAction(Atualizar);


begin //Procedure


begin
if DataModule2.ClientDataSet.State in [DsInsert,DsEdit] then
begin
For intC := 0 To DataModule2.ClientDataSet.FieldCount -1 Do
Begin
If(DataModule2.ClientDataSet.Fields[intC].Required)Then
Begin
If( Trim (DataModule2.ClientDataSet.Fields[intC].Text) = ´´)Then
Begin
ShowMessage(´Preencha o campo ´ + DataModule2.ClientDataSet.Fields[intC].DisplayLabel);
exit;
End;
DataModule2.ClientDataSet.Post;
DataModule2.ClientDataSet.ApplyUpdates(-1);
End;
End;
End;
end;

begin
if DataModule2.ClientDataSetGRID.State in [dsinsert,dsedit] Then
begin
For IntC := 0 To DataModule2.ClientDataSetGRID.FieldCount -1 Do
Begin
If(DataModule2.ClientDataSetGRID.Fields[intC].Required) Then
Begin
If( Trim (DataModule2.ClientDataSetGRID.Fields[intC].Text ) = ´´) Then
Begin
ShowMessage(´Preencha o campo ´ + DataModule2.ClientDataSetGRID.Fields[intC].DisplayLabel);
exit;
End;
DataModule2.ClientDataSetGRID.Post;
DataModule2.ClientDataSetGRID.ApplyUpdates(-1);

End;
End;

end;
End;
End; //End procedure
DataModule2.ClientDataSetCria_Id.ApplyUpdates(-1);
DataModule2.ClientDataSetCria_Id.Close;
DataModule2.ClientDataSetCria_Id.Open;
FRMinserir.Close;

end;


end.


Responder

Gostei + 0

13/07/2004

Marcelo.c

Você está utilizando IBTransaction ?


Responder

Gostei + 0

13/07/2004

Deryck

Você está utilizando IBTransaction ?

Cara , valeu pela intençaõ ,mas ja resolvi o problema, to usando o transaction, mas o que acontece agora é que estou tratando de cada campo individualmente, e ta osso, se tiver alguma i´deia, são 30 campos, trata um por um não é facil,, até mais ,, valeu!


Responder

Gostei + 0

13/07/2004

Deryck

Você está utilizando IBTransaction ?

Cara , valeu pela intençaõ ,mas ja resolvi o problema, to usando o transaction, mas o que acontece agora é que estou tratando de cada campo individualmente, e ta osso, se tiver alguma i´deia, são 30 campos, trata um por um não é facil,, até mais ,, valeu!


Responder

Gostei + 0

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

Aceitar