现在我希望取出dataset 后,就把连接 conn 关闭并且释放了,该怎么改呢 , sqlhelper 这个类在app code 这个文件夹里 
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/// <summary>
/// SqlHelper 的摘要说明
/// </summary>
public class SqlHelper
{
private static readonly string strConn = ConfigurationManager.ConnectionStrings["ConnectionStringa"].ConnectionString;
// private static readonly string strName = ConfigurationManager.AppSettings["userName"].ToString();
// private static readonly string strPass = ConfigurationManager.AppSettings["userPass"].ToString();
public SqlHelper()
{
//
// TODO: 在此处添加构造函数逻辑
//
}public static DataSet ExcuteReadApdater(string nText, CommandType nType, SqlParameter[] paras)
{SqlConnection con = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand();
DataSet ds = new DataSet();
try
{
PrepareCommand(con, cmd, null, nType, nText, paras);
SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd);
sqlAdapter.Fill(ds);
cmd.Parameters.Clear();
return ds;}
catch (SqlException ex)
{throw new Exception(ex.Message, ex);}
}
public static void PrepareCommand(SqlConnection con, SqlCommand cmd, SqlTransaction trans, CommandType nType, string nText, SqlParameter[] paras)
{if (con.State != ConnectionState.Open)
con.Open();
cmd.Connection = con;
cmd.CommandText = nText;
if (trans != null)
{cmd.Transaction = trans;
}
cmd.CommandType = nType;
if (paras != null)
{foreach (SqlParameter para in paras)
{cmd.Parameters.Add(para);
}}
}}

解决方案 »

  1.   

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
    namespace Home.Dal
    {
        public static class DBHelper
        {        private static string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
           
            public static int ExecuteCommand(string sql, params SqlParameter[] values)
            {
                SqlConnection conn = new SqlConnection(conStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                if (values != null)
                {
                    cmd.Parameters.AddRange(values);
                }
                int result = cmd.ExecuteNonQuery();
                return result;
            }   
            public static Object GetScalar(string sql, params SqlParameter[] values)
            {
                SqlConnection conn = new SqlConnection(conStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                if (values != null)
                {
                    cmd.Parameters.AddRange(values);
                }
                object result = cmd.ExecuteScalar();
                conn.Close();
                return result;
               
            }
            public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
            {
                SqlConnection conn = new SqlConnection(conStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                if (values != null)
                {
                    cmd.Parameters.AddRange(values);
                }
                SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                return reader;
                
            }
            public static DataTable GetDataSet(string sql, params SqlParameter[] values)
            {
                SqlConnection conn = new SqlConnection(conStr);
                DataSet ds = new DataSet();
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                if (values != null)
                {
                    cmd.Parameters.AddRange(values);
                }
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(ds);
                conn.Close();
                conn.Dispose();
                return ds.Tables[0];                   }    }
    }
      

  2.   

    直接用DBHelper.cs文件吧,这些工作可以不用管了.