이것은 내가 가지고있는 코드입니다.이 명령과 관련된 열려있는 DataReader가 이미 있습니다. 먼저 닫아야합니다.
/// <summary>
/// Method calls stored procedure and fills DataSet of contacts associated with Lead
/// </summary>
/// <param name="leadID">The ID associated with a Lead</param>
/// <returns>contacts list as DataSet</returns>
public static DataSet GetContactResultSetByLead(int leadID)
{
SqlCommand Sqlmd = new SqlCommand("dbo.proc_contact");
Sqlmd.CommandType = CommandType.StoredProcedure;
Sqlmd.Parameters.Add("@LeadInfoID", SqlDbType.Int).Value = leadID;
Sqlmd.Connection = m_ConStr;
SqlDataAdapter da = new SqlDataAdapter(Sqlmd);
DataSet data = new DataSet();
try
{
da.Fill(data);
}
finally
{
m_ConStr.Close();
}
return data;
}
'm_ConStr'이란 무엇입니까? –
이 줄 바꾸기 Sqlmd.Parameters.Add ("@ LeadInfoID", SqlDbType.Int) .Value = leadID; Sqlmd.Parameters.AddWithValue ("@ LeadInfoID", leadID); 글로벌 연결을 유지하려면 연결 상태를 확인한 다음 사용하기 전에 닫습니다. 귀하의 코드를 재 설계하고 의미있는 이름을 사용하십시오 ....! using() {} – MethodMan
주위에 연결 랩 Sqlmd는 da.Fill 호출 중에 실행됩니다. m_ConStr은 이름이 잘못 지정된 변수처럼 보입니다. 연결 문자열이 아닌 연결 자체를 나타냅니다. – RQDQ