这样把!你把要执行的SQL命令都放到一个类中。
#region 执行SQL语句,返回SqlDataReader
///<summary>
///执行SQL语句,返回SqlDataReader
///<summary>
///<param name="sql">要执行的SQL语句</param>
///<returns>返回SqlDataReader,需手工关闭连接</returns>
public static SqlDataReader GetReader(string sql)
{
SqlConnection con=new SqlConnection(UserDB.ConnectionString);
SqlCommand cmd=new SqlCommand(sql,con);
SqlDataReader dr=null;
try
{
con.Open();
dr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(Exception ex)
{
dr.Close();
con.Dispose();
cmd.Dispose();
throw new Exception(ex.ToString());
}
return dr;
}
#endregion
这样就可以避免那些问题了
如果不发生错误了,那么catch 里面的东西是不是不能执行了?