update e delete atraves de um dbgrid

Delphi

29/07/2006

ao efetuar um delete selecionando os dados em um dbgrid utilizando o seguinte comando no botao

begin
IBDataSet1.Delete;
dm.trans.CommitRetaining;
Application.MessageBox(PChar(´O registro foi excluido com sucesso. ´), ´Informação´, MB_Ok+mb_IconInformation);
end;

aparentemente a operação e executada, porem ao atualizar a tabela é verificado que os dados nao sao excluidos

o mesmo procedimento acontece ao clicar no botao alterar
begin
IBDataSet1.Edit;
end;
altera-se os dados no dbgrid clica no botão salvar

begin
IBDataSet1.Post;
DM.Trans.CommitRetaining;
Application.MessageBox(PChar(´Registro Incluido com Sucesso.´), ´Informação´, MB_Ok+mb_IconInformation);
end;
mas a operação tabem nao é concluida

a rotina esta ocorrendo com sucesso somente na inserção de novos dados


Eme_matos

Eme_matos

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

29/07/2006

Colega,

Dê um duplo clique sobre o componente IBTransaction e marque a opção Read Committed:

read_committed
rec_version
nowait

Verifique se ele está associado ao TIBDataBase.


GOSTEI 0
Eme_matos

Eme_matos

29/07/2006

[quote:1ece237d23=´Aroldo Zanela´]Colega,

Dê um duplo clique sobre o componente IBTransaction e marque a opção Read Committed:

read_committed
rec_version
nowait

Verifique se ele está associado ao TIBDataBase.[/quote:1ece237d23]

CARO COLEGA

MESMO ALTERANDO O IBTRANSACTION NAO EXECUTA O UPDATE E DELETE ATRAVÉS DO DBGRID

SEGUE UM EXEMPLO PARA ANALISE:

GRATO

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, IBCustomDataSet, IBDatabase, ExtCtrls, DBCtrls, Grids,
DBGrids, StdCtrls, Buttons;

type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
IBDataSet1: TIBDataSet;
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
IBDataSet1CODIGO: TIntegerField;
IBDataSet1DESCRICAO: TIBStringField;
IBDataSet1VALOR_COMPRA: TFloatField;
DataSource1: TDataSource;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
IBDataSet1.Delete;
IBTransaction1.CommitRetaining;
end;

end.


GOSTEI 0
Cabelo

Cabelo

29/07/2006

Colega...

dê um :

IBDataSet1.ApplyUpdates;

Acho que é isso que tá faltando... aplicar diretamente no banco as alterações ou exclusões...


GOSTEI 0
POSTAR