【发布时间】:2012-02-19 20:40:13
【问题描述】:
这是我的代码。
/// <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;
}
【问题讨论】:
-
更改这一行 Sqlmd.Parameters.Add("@LeadInfoID", SqlDbType.Int).Value = leadID;到 Sqlmd.Parameters.AddWithValue("@LeadInfoID", leadID);如果您想保留 Global Connect,请检查该连接的状态(如果打开,然后在使用之前将其关闭)。重构您的代码并使用有意义的变量名称......!将你的 Connection 包裹在 using() {}
-
Sqlmd 将在 da.Fill 调用期间执行。 m_ConStr 似乎是一个名称不佳的变量 - 它似乎是指连接本身,而不是连接字符串。
标签: c# datareader