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