Fórum Erro ao Gravar (Delphi SQL Server #348933
13/11/2007
0
Saudações!!!!
Fiz um exemplo simples, uma tela de cadastro de clientes, usando delphi 2006, sql server e os componentes sqlconnection, sqldataset, datasetprovider, clientdataset e datasource. O teste de conexão foi ok, inclusive no dbgrid aparecem os dados gravados na tabela. Agora, qdo tento gravar, dá um erro : [b:5bd148a85c]dbxpress error: [0x0002]: insufficient memory for operation[/b:5bd148a85c].
O código que utilizei para gravar o registro é o seguinte:
procedure TForm5.Button1Click(Sender: TObject);
var
t : TTransactionDesc;
begin
try
t.TransactionID := 1;
t.IsolationLevel := xilREADCOMMITTED;
SQLConnection1.StartTransaction(t);
with ClientDataSet2 do
begin
close;
commandtext := ´insert into PRIMEIRA_TABELA (NOME, DATA_NASC) ´ +
´values (:NOME, :DATA_NASC)´;
params.ParamByName(´NOME´).AsString := Edit1.Text;
params.ParamByName(´DATA_NASC´).AsDate := strtodate(Edit2.Text);
execute;
end;
[b:5bd148a85c]SQLConnection1.Commit(t); [/b:5bd148a85c] // o erro é apontado para esta linha
ClientDataSet1.Close;
ClientDataSet1.Open;
except
on E : Exception do
begin
SQLConnection1.Rollback(t);
showmessage(e.Message);
end;
end;
end;
Eu já trabalhei com oracle, interbase, firebird, e não tive este problema. Será que há alguma incompatibilidade do dbxpress com o sqlserver??
Fiz um exemplo simples, uma tela de cadastro de clientes, usando delphi 2006, sql server e os componentes sqlconnection, sqldataset, datasetprovider, clientdataset e datasource. O teste de conexão foi ok, inclusive no dbgrid aparecem os dados gravados na tabela. Agora, qdo tento gravar, dá um erro : [b:5bd148a85c]dbxpress error: [0x0002]: insufficient memory for operation[/b:5bd148a85c].
O código que utilizei para gravar o registro é o seguinte:
procedure TForm5.Button1Click(Sender: TObject);
var
t : TTransactionDesc;
begin
try
t.TransactionID := 1;
t.IsolationLevel := xilREADCOMMITTED;
SQLConnection1.StartTransaction(t);
with ClientDataSet2 do
begin
close;
commandtext := ´insert into PRIMEIRA_TABELA (NOME, DATA_NASC) ´ +
´values (:NOME, :DATA_NASC)´;
params.ParamByName(´NOME´).AsString := Edit1.Text;
params.ParamByName(´DATA_NASC´).AsDate := strtodate(Edit2.Text);
execute;
end;
[b:5bd148a85c]SQLConnection1.Commit(t); [/b:5bd148a85c] // o erro é apontado para esta linha
ClientDataSet1.Close;
ClientDataSet1.Open;
except
on E : Exception do
begin
SQLConnection1.Rollback(t);
showmessage(e.Message);
end;
end;
end;
Eu já trabalhei com oracle, interbase, firebird, e não tive este problema. Será que há alguma incompatibilidade do dbxpress com o sqlserver??
Roger1976
Curtir tópico
+ 0
Responder
Posts
13/11/2007
Nerdex
Talvez esteja faltando a criação do arquivo de Log junto ao .MDB do SQLServer ... Pode ser ...
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)