呵,我帮你顶一下
用适配器的话是可断式连接,无须手动关闭,放在using{}中也一样;
若想逻辑更清晰一些,可加个过渡,否则可以直接操作(跳过DAL层)

解决方案 »

  1.   

    你去petshop目录下的DBUtility找到SQLHelper.cs,打开查找ExecuteNonQuerySqlCommand cmd = new SqlCommand();using (SqlConnection conn = new SqlConnection(connectionString)) {
     PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
     int val = cmd.ExecuteNonQuery();
     cmd.Parameters.Clear();
     return val;
    }这里面有一using ,通过它包装之后在代码执行之后会自动释放其中包装的资源的
      

  2.   

     public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters) {            SqlCommand cmd = new SqlCommand();            using (SqlConnection conn = new SqlConnection(connectionString)) {
                    PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
                    int val = cmd.ExecuteNonQuery();
                    cmd.Parameters.Clear();
                    return val;
                }
            }这个是原文的函数,你看里面的using了吗,就是用来让垃圾回收连接资源的,也就是关闭资源,而且回收。
    数据库连接当然要关闭,如果使用适配器sqldataadapter的话就不用显示关闭,适配器自己用完就关闭了
    如果是用datareader的话就要自己关闭