Executing a SQL stored procedure and read the result

Self explanatory snippet

SqlConnection db = new SqlConnection(Properties.Settings.Default.ConnectionString);

try
{
   db.Open();

   SqlCommand cmd = new SqlCommand("storedProcedureName", db);
   cmd.CommandType = CommandType.StoredProcedure;
   cmd.Parameters.Add(new SqlParameter("@parm1", SqlDbType.Int, 4));
   cmd.Parameters.Add(new SqlParameter("@parm2", SqlDbType.Text));
   cmd.Parameters["@parm1"].Value = 1234;
   cmd.Parameters["@parm2"].Value = "ABC";

   SqlDataReader dataReader = cmd.ExecuteReader();

   DataTable storedTable = new DataTable();
   storedTable.Load(dataReader);
                
   foreach (DataRow row in storedTable.Rows)
   {
      //Here row contains the retrieved data.
      int test = Convert.ToInt32(row[0]);
   }
   storedTable.Dispose();
   dataReader.Dispose();
   cmd.Dispose();
          
   db.Close(); 
   db.Dispose(); 
   db = null;
}
catch (Exception e)
{
   System.Windows.Forms.MessageBox.Show(e.Message, "DB error", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);      
}

Lastest update in February 2012, inital post in February 2012

Write a comment

I appreciate comments, suggestions, compliments etc. Unfortunately I have no time to reply to them. Useful input will be used for sure!