Đây là mã tôi có.Đã có một DataReader mở được kết hợp với Lệnh này phải được đóng trước tiên
/// <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' là gì? –
thay đổi dòng này Sqlmd.Parameters.Add ("@ LeadInfoID", SqlDbType.Int) .Value = leadID; tới Sqlmd.Parameters.AddWithValue ("@ LeadInfoID", leadID); Nếu bạn muốn giữ kết nối toàn cầu, hãy kiểm tra trạng thái của kết nối đó nếu mở rồi đóng nó trước khi sử dụng nó. XÁC NHẬN MÃ CỦA BẠN VÀ SỬ DỤNG CÁC BIẾN ĐỔI TIỆN ÍCH ....! Quấn kết nối của bạn xung quanh một using() {} – MethodMan
Sqlmd sẽ được thực hiện trong suốt cuộc gọi. m_ConStr dường như là một biến được đặt tên kém - nó dường như đề cập đến chính kết nối đó chứ không phải là chuỗi kết nối. – RQDQ