The sample code provided by Andrew Rissing is a huge improvement over the original, but incorrectly catches the exception and displays a MessageBox. (Andrew correctly points out this is not a good idea.)
A better solution is to allow the exception to fail:
public DataSet select_query(string query, string con_str)
{
using (SqlConnection con = new SqlConnection(con_str))
{
using (SqlCommand comd = new SqlCommand(query, con))
{
using (SqlDataAdapter da = new SqlDataAdapter(comd))
{
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
}
}
}
;
public int modify_query(string query, global_data data)
{
using (SqlConnection con = new SqlConnection(data.Con_Str))
{
using (SqlCommand comd = new SqlCommand(query, con))
{
con.Open();
try
{
int x = comd.ExecuteNonQuery();
return x;
}
finally
{
con.Close();
}
}
}
}
}