在进行数据邦定时往往会看到这样的语法:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack) bindgrid();
}
void bindgrid()
{
//查询student数据库获取结果集ds
string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
DataSet ds = new DataSet();
using (SqlConnection sqlconn = new SqlConnection(sqlconnstr)) {
SqlDataAdapter sqld = new SqlDataAdapter("select no,name,birth,address from student", sqlconn);
sqld.Fill(ds, "tabstudent");
}
//以数据集中名为tabstudent的DataTable作为数据源,为控件绑定数据
GridView1.DataSource = ds.Tables["tabstudent"].DefaultView;
GridView1.DataBind();
}
其中using (......))这句为什么要这样写呢?直接写SqlCommand cmd = new SqlCommand(SQLString, connection)不就可以了吗? 为什么还要用using()包围呀,这样写有什么好处吗?
1. 如果你需要使用一个对象,这个对象需要占用很多紧缺的资源,使用完成后需要马上释放掉的话,建议使用using语句
2. 这样写是为了避免资源释放不及时导致的冲突或性能问题
3. 这样写的话处是减少因为争抢资源发生冲突或性能问题的概率
4. 以下为微软官方关于using语句的解释
提供能确保正确使用 IDisposable 对象的方便语法。
语法 复制代码
using (Font font1 = new Font("Arial", 10.0f)) {
.. byte charset = font1.GdiCharSet;
}