Gravando os dados em Interbase com BDPProvider
Recebi a seguinte pergunta:
Fiz uma conexao com o banco e teste com o banco ele me retorna os registros efetados porém não comita no banco:
Estou usando ASP.NET com BDP e Firebird (Ja testei com Interbase) e no evento click do botão chamo a seguinte comando:
BdpConnection1.Open;
BdpCommand1.CommandText := TextBox1.Text;
r := BdpCommand1.ExecuteNonQuery();
TextBox2.Text := r.ToString + ' Registros Afetados';
Falta alguma coisa?
Verifiquei em minha máquina, em MS-SqlServer, o código funciona perfeitamente, ao executar uma Sql, os dados são gravados sem problemas, mas em Interbase, os dados não são gravados. O problema é a falta de uma transação e do respectivo commit. Modifiquei o código um pouco para incluir a transação, que ficou assim:
procedure TWebForm1.Button1_Click(sender: System.Object;
e: System.EventArgs);
var
r: Integer;
bdpTrans : BdpTransaction;
begin
BdpConnection1.Open;
bdpTrans := BdpConnection1.BeginTransaction();
BdpCommand1.CommandText := TextBox1.Text;
r := BdpCommand1.ExecuteNonQuery();
bdpTrans.Commit();
Label2.Text := r.ToString + ' Registros Afetados';
end;
0 Comentários:
Postar um comentário
<< Home