Ajuda - Busca - Membros - Calendário
Versão Completa: problema com mysql : Connection must be valid and open
Fórum Script Brasil > Programação & Desenvolvimento > .NET
aalessandre
pessoal tenho o seguinte codigo
CODE
public Boolean insBaixaParcial()
        {              
            classConexaoMYSQL.abreConexao();
            MySqlTransaction trans = classConexaoMYSQL.sqlCon.BeginTransaction();
            
            try
            {  
                //INSERE O pgto parcial na tabela de pgtos parciais
                MySqlCommand myCmd1 = new MySqlCommand("INSERT INTO pgtoParcial (par_titulo, " +
                                         "                         par_cod_titulo, " +
                                         "                         par_data, " +
                                         "                         par_valor ) " +
                                         "     VALUES (" + titulo + ", " +
                                         "             '" + codTitulo + "', " +
                                         "             '" + dtPgto + "', " +
                                         "             '" + valorPgto.Replace(",", ".") + "')", classConexaoMYSQL.sqlCon);

                myCmd1.ExecuteNonQuery();

               //atualiza a tabela de titulos alterando o valor pago
               string rData = Convert.ToDateTime(classDatatHora.getDataBanco()).ToString("yyyy/MM/dd");            
                MySqlCommand myCmd2 = new MySqlCommand("UPDATE cpa " +
                                                      "   SET cpa_valor_pago = '" + valorPgto.Replace(",", ".") + "',  " +
                                                      "       cpa_dt_pagto = '" + rData +"' " +
                                                      " WHERE cpa_titulo = " + titulo + " ",
                                                       classConexaoMYSQL.sqlCon);              
                
                myCmd2.ExecuteNonQuery();                
                
                trans.Commit();                
                classConexaoMYSQL.fechaConexao();
                return true;
            }
            catch (System.Exception er)
            {
                trans.Rollback();
                //mostra a tela de erro com os dados do erro
                frmError frmError = new frmError();
                frmError.mostraErro(er);
                frmError.ShowDialog();

                return false;
            }
        }

ao executar o myCmd2, da o seguinte erro
QUOTE
Connection must be valid and open

pelo que entendi, ao executar o myCmd1, é fechado a conexao, mas já fiz teste e a conexao continua aberta, mas da o erro dizendo que não existe uma conexao valida. alguém sabe como resolver isso ?
juninnn
Antes do ExecuteNonQuery passe a transaction para o command
CODE
myCmd1.Transaction = trans;
myCmd2.Transaction = trans;

Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.