StoredProc com dbx4 e FB 2.0 usando o driver do Interbase
15/05/2008
0
olá pessoal, andei fazendo uns testes com o dbx4 e ao tentar executar uma procedure usando transação, o sistema retorana uma msg e erro, (violação de acesso na dbxint30.dll).
Obs: estou usando FB 2.0 com o driver do Interbase...
-------------------------------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,DBXCommon, WideStrings, FMTBcd, ExtCtrls, DBCtrls, Grids, DBGrids,
Provider, DBClient, DB, SqlExpr, StdCtrls;
type
TForm1 = class(TForm)
SQLC: TSQLConnection;
SQLDataSet1: TSQLDataSet;
DataSource1: TDataSource;
CDSContaCaixa: TClientDataSet;
DataSetProvider1: TDataSetProvider;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
spContaCaixa: TSQLStoredProc;
CDSContaCaixaID_CONTA: TIntegerField;
CDSContaCaixaDESCRICAO: TStringField;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Transc : TDBXTransaction;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Transc := SQLC.BeginTransaction(TDBXIsolations.ReadCommitted);
try
with spContaCaixa do
begin
Params[0].AsInteger := CDSContaCaixaID_CONTA.AsInteger;
Params[2].AsString := CDSContaCaixaDESCRICAO.AsString;
ExecProc;
end;
SQLC.CommitFreeAndNil(Transc);
except
SQLC.RollbackFreeAndNil(Transc);
end;
end;
end.
Obs: estou usando FB 2.0 com o driver do Interbase...
-------------------------------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,DBXCommon, WideStrings, FMTBcd, ExtCtrls, DBCtrls, Grids, DBGrids,
Provider, DBClient, DB, SqlExpr, StdCtrls;
type
TForm1 = class(TForm)
SQLC: TSQLConnection;
SQLDataSet1: TSQLDataSet;
DataSource1: TDataSource;
CDSContaCaixa: TClientDataSet;
DataSetProvider1: TDataSetProvider;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
spContaCaixa: TSQLStoredProc;
CDSContaCaixaID_CONTA: TIntegerField;
CDSContaCaixaDESCRICAO: TStringField;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Transc : TDBXTransaction;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Transc := SQLC.BeginTransaction(TDBXIsolations.ReadCommitted);
try
with spContaCaixa do
begin
Params[0].AsInteger := CDSContaCaixaID_CONTA.AsInteger;
Params[2].AsString := CDSContaCaixaDESCRICAO.AsString;
ExecProc;
end;
SQLC.CommitFreeAndNil(Transc);
except
SQLC.RollbackFreeAndNil(Transc);
end;
end;
end.
Igo_so
Curtir tópico
+ 0
Responder
Posts
15/05/2008
Flyskin
já tentou utilizar o driver que está disponível por um colunista da active delphi? parece que é mais compatível com o firebird e dbx4...
Responder
Clique aqui para fazer login e interagir na Comunidade :)