Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

L'opération n'est pas valide pour l'état de l'erreur de transaction et la portée de la transaction

Après avoir fait quelques recherches, il semble que je ne puisse pas ouvrir deux connexions à la même base de données avec le bloc TransactionScope. J'avais besoin de modifier mon code pour qu'il ressemble à ceci :

public void MyAddUpdateMethod()
{
    using (TransactionScope Scope = new TransactionScope(TransactionScopeOption.RequiresNew))
    {
        using(SQLServer Sql = new SQLServer(this.m_connstring))
        {
            //do my first add update statement            
        }

        //removed the method call from the first sql server using statement
        bool DoesRecordExist = this.SelectStatementCall(id)
    }
}

public bool SelectStatementCall(System.Guid id)
{
    using(SQLServer Sql = new SQLServer(this.m_connstring))
    {
        //create parameters
    }
}