none
Transações !!!???!!! RRS feed

  • Pergunta

  • Tenho um bloco de codigo com transação mas em um determinado local do meu codigo dentro dessa transação eu tenho uma query SQL para gerar um codigo autonumeração para ser usado em um insert que esta dentro da minha transação mas ele passa uma vez executa o codigo beleza mas segunda passada o sistema trava e não apresenta nenhum erro ... retirei a trasanção e tudo voltou a funcionar gostaria de saber qual a solução para isso

    Estou usando VS2008 ; C# ; com Banco de Dados Firebird

    Segue parte do codigo usado

    cmdInsert.Transaction =

    cnTrans.BeginTransaction();
    < aqui faço meu primeiro INSERT INTO ... >
    < ... segue o codigo ... >
    < aqui faço mais um INSERT INTO ... >

    // Abaixo faço a consulta que me referi que fica congelada pois essa rotina esta dentro de um laço
    sSQL = "";
    sSQL =
    "SELECT COALESCE(MAX(CODCR)+1,1) AS ID FROM CONTASRECEBER";
    cmd = 
    new FBCommand(); cmd.Connection = cn;
    cmd.CommandText =
    ""; cmd.CommandText = sSQL;
    drCr = cmd.ExecuteReader();
    drCr.Read();
    iIdCR =
    Convert.ToInt64(drCr[0]);
    drCr.Close(); drCr.Dispose();
    // A primeira vez que passa no codigo acima funciona mas na segunda passada ele trava bem na linha do crCr.Read() nesse ponto o cursor do debug some e o sistema congela
    Como posso contornar esse problema isso se deu pelo uso da transação ja ate usei uma outra variavel de conexão auxiliar e nada da certo

     


     


    Junior
    quinta-feira, 17 de setembro de 2009 00:47

Respostas

Todas as Respostas