Este es el código que tengo.Ya hay un DataReader abierto asociado con este comando que debe cerrarse primero
/// <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;
}
¿Qué es 'm_ConStr'? –
cambie esta línea Sqlmd.Parameters.Add ("@ LeadInfoID", SqlDbType.Int) .Value = leadID; a Sqlmd.Parameters.AddWithValue ("@ LeadInfoID", leadID); Si desea mantener Global Connect, verifique el estado de esa conexión, si está abierta, luego ciérrela antes de usarla. ¡REFACTIVA TU CÓDIGO Y UTILIZA SIGNIFICATIVOS NOMBRES VARIABLES ...! Envuelva su conexión alrededor de using() {} – MethodMan
Sqlmd se ejecutará durante la llamada da.Fill. m_ConStr parece ser una variable poco nombrada: parece referirse a la conexión en sí, no a la cadena de conexión. – RQDQ