所以,我得到了我的標題行錯誤。似乎很自我解釋,但我的理解是,「使用」塊內的對象被處置?這個錯誤出現在另一個小錯誤中斷代碼執行後,所以也許我被一個開放的閱讀器卡住了,我需要關閉或關閉它?任何幫助,將不勝感激?C#/ SQL Server錯誤'已經有一個打開的DataReader與這個Command關聯,必須先關閉它。'
public override long GetStatsBenchmark(String TableName)
{
using (SqlCommand cmd = new SqlCommand("sprocReturnDataPointBenchmark", this.sqlConnection))
{
cmd.CommandType = System.Data.CommandType.StoredProcedure;
SqlParameter outputParameter = new SqlParameter
{
ParameterName = "@benchmark",
Direction = System.Data.ParameterDirection.Output,
SqlDbType = System.Data.SqlDbType.BigInt,
};
cmd.Parameters.Add(outputParameter);
SqlParameter inputParameter = new SqlParameter
{
ParameterName = "@tblName",
Direction = System.Data.ParameterDirection.Input,
SqlDbType = System.Data.SqlDbType.NVarChar,
Value = TableName
};
cmd.Parameters.Add(inputParameter);
cmd.ExecuteNonQuery();
return (long)outputParameter.Value;
}
}
它是可重複的還是隻發生一次當你正在調試? – 2012-03-31 00:06:48
@Bryan我一直在阻止它的錯誤,重新運行,同樣的錯誤。我試着調試cmd.Dispose,無濟於事。 – StatsViaCsh 2012-03-31 00:08:39
你是否正在做其他任何可能會影響到這個的'this.sqlConnection'?這聽起來像另一個命令對象在你的代碼中的其他地方可能使用相同的'SqlConnection',它還沒有關閉。 – 2012-03-31 00:14:43