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);      
}

Leave a Reply

Your email address will not be published. Required fields are marked *