Får detta fel när jag vill använda SqlTransaction:
Körningen kräver att kommandot har ett transaktionsobjekt när anslutningen som tilldelats kommandot är en väntande lokal transaktion. Egenskapen Transaction i kommandot har inte initierats.
sökte lite på Google och på engelska så är felet detta:
Execute requires the command to have a transaction object when the connection assigned to the command is in a pending local transaction. The Transaction property of the command has not been initialized.
Hur ska jag initiera transaktionskommandot som felet klagar över..? Eller är det följdfel av något annat eller..?
public void InsertProcedure(string spName, IDataParameter[] parameters)
{
this.SqlConnect.Open();
SqlTransaction tran = this.SqlConnect.BeginTransaction(IsolationLevel.ReadCommitted);
SqlCommand command = new SqlCommand(spName, this.SqlConnect, tran);
command.CommandType = CommandType.StoredProcedure;
command = this.BuildQueryCommand(spName, parameters);
try
{
command.ExecuteNonQuery();
tran.Commit();
}
catch(Exception ex)
{
tran.Rollback();
throw(ex);
}
finally
{
command.Parameters.Clear();
this.SqlConnect.Close();
}
}
(Tidigare hade jag en lite längre SP i själva SQL server men det var svårt att debugga tyckte jag så jag bröt ner SP'n i mindre delar och flyttade commit/rollback etc till C# koden istället men fick då detta fel istället * suck * :( ).