Questo è il codice che ho.C'è già un DataReader aperto associato a questo comando che deve essere chiuso prima
/// <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;
}
Che cos'è 'm_ConStr'? –
modificare questa riga Sqlmd.Parameters.Add ("@ LeadInfoID", SqlDbType.Int) .Value = leadID; a Sqlmd.Parameters.AddWithValue ("@ LeadInfoID", leadID); Se si desidera mantenere il Global Connect, verificare lo stato di tale connessione se è aperto, quindi chiuderlo prima di utilizzarlo. REFATTORE IL TUO CODICE E UTILIZZA NOMI VARIABILI SIGNIFICATIVI ....! Racchiudere la connessione con un() {} – MethodMan
Sqlmd verrà eseguito durante la chiamata da.Fill. m_ConStr sembra essere una variabile con un nome errato - sembra riferirsi alla connessione stessa, non alla stringa di connessione. – RQDQ