在ASP.NET中数据连接层不知道怎么写了,麻烦源代码........

解决方案 »

  1.   

    看看微软企业库
    DbProviderFactory objProviderFactory = DbProviderFactories.GetFactory(objConnectionSettings.ProviderName);
    using (DbConnection objConnection = objProviderFactory.CreateConnection())
    {}
      

  2.   

    可以看看 微软的开源项目 petshop
      

  3.   

    前面的弄了这么规范的设计模式...吓到了
    我就只是写了个 sqlutil 类..........
      

  4.   

    只要懂得使用ADO,这些东西完全可以自己实现了,楼主自己要思考下,不要局限于某某框架。
      

  5.   

    动软生成器或者codesmith三层都可以自动生成...
      

  6.   

    using System;
    using System.Collections.Generic;
    using System.Text;using System.Data;
    using System.Data.SqlClient;
    namespace com.accp.QZoneDAL
    {
        public class DBHelp
        {
            //连接字符串
            public static string GetString()
            {
                return @"server=.;database=QQzone;uid=sa;pwd=123;";
            }        //添,删,改
            public static bool RunSQL(string sql)
            {
                //创建连接
                SqlConnection conn = new SqlConnection(GetString());
                //打开
                conn.Open();
                //创建命令对象
                SqlCommand cmd=new SqlCommand(sql,conn);
                int count=cmd.ExecuteNonQuery();
                if (count > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }        //查询
            public static DataTable Select(string sql)
            {
                //创建适配器
                SqlDataAdapter da = new SqlDataAdapter(sql, GetString());            //加工适配器
                SqlCommandBuilder cb = new SqlCommandBuilder(da);            //创建空表
                DataTable dt = new DataTable();
                //填充表
                da.Fill(dt);            return dt;
            }
        }
    }我经常用的,连接字符串自己可以改成调用webconfig的,或者要连接的IP和数据库
      

  7.   

    数据的连接不是一般都写在config文件中么。数据访层就写相关的方法么,最多也就再也个公共的DBHelper类
      

  8.   

    给你个现成的  好用的话把分给我  public static DataSet Query(string SQLString)
            {
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    DataSet ds = new DataSet();
                    try
                    {
                        connection.Open();
                        SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
                        command.Fill(ds, "ds");
                    }
                    catch (System.Data.SqlClient.SqlException ex)
                    {
                        throw new Exception(ex.Message);
                    }
                    return ds;
                }
            }
            public static DataSet Query(string SQLString, int Times)
            {
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    DataSet ds = new DataSet();
                    try
                    {
                        connection.Open();
                        SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
                        command.SelectCommand.CommandTimeout = Times;
                        command.Fill(ds, "ds");
                    }
                    catch (System.Data.SqlClient.SqlException ex)
                    {
                        throw new Exception(ex.Message);
                    }
                    return ds;
                }
            }
      

  9.   

    很久以前,我认为钱是浮云
    不必太较真!等我没钱的时候发现:钱不是浮云!
    来到CSDN我认为分是浮云,
    不必太在意!当我发帖没分的时候:分也不是浮云!
      

  10.   

    数据连接层?
    lz,数据操作层吧,
    连接在config中就可以设置了
      

  11.   

    web.config里面就这样写
    <connectionStrings>
    <add name="ConnectionString" connectionString="data source=数据库服务器;uid=用户名;pwd=密码;database=数据库名" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    程序里面就是:  private static SqlConnection conn;        public static SqlConnection Conn
            {
                get
                {
                    string connstr = ConfigurationManager.ConnectionStrings["myOffice"].ConnectionString;
                    if (conn == null)
                    {
                        conn = new SqlConnection(connstr);
                        conn.Open();
                    }
                    if (ConnectionState.Closed == conn.State)
                    {
                        conn.Open();
                    }
                    if (ConnectionState.Broken == conn.State)
                    {
                        conn.Close();
                        conn.Open();
                    }
                    return conn;            }        }
      

  12.   

    web.config里面就这样写
    <connectionStrings>
    <add name="ConnectionString" connectionString="data source=数据库服务器;uid=用户名;pwd=密码;database=数据库名" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    程序里面就是: private static SqlConnection conn;  public static SqlConnection Conn
      {
      get
      {
      string connstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
      if (conn == null)
      {
      conn = new SqlConnection(connstr);
      conn.Open();
      }
      if (ConnectionState.Closed == conn.State)
      {
      conn.Open();
      }
      if (ConnectionState.Broken == conn.State)
      {
      conn.Close();
      conn.Open();
      }
      return conn;  }  }
      

  13.   


    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>
    /// DBHelper 的摘要说明
    /// </summary>
    public static class DBHelper
    {
        //public DBHelper()
        //{
        //    //
        //    // TODO: 在此处添加构造函数逻辑
        //    //
        //}
        //连接对象
        private static SqlConnection connection;
        public static SqlConnection Connection
        {
            get
            {
                //获取连接字符串
                string connectionString = ConfigurationManager.ConnectionStrings["DefaultDBConnString"].ConnectionString;
                //判断连接是否为空,如果为空就new 对象并打开连接
                if (connection == null)
                {
                    connection = new SqlConnection(connectionString);
                    connection.Open();
                }
                //如果连接关闭就打开链接
                else if (connection.State == System.Data.ConnectionState.Closed)
                {
                    connection.Open();
                }
                //如果连接断开,就先关闭再打开链接
                else if (connection.State == System.Data.ConnectionState.Broken)
                {
                    connection.Close();
                    connection.Open();
                }
                return connection;
            }
        }
     
        /// <summary>
        /// 针对增删改的方法,(无参数)
        /// </summary>
        /// <param name="safeSql"></param>
        /// <returns></returns>
        public static int ExecuteCommand(string safeSql)
        {
            SqlCommand cmd = new SqlCommand(safeSql, Connection);
            int result = cmd.ExecuteNonQuery();
            return result;
        }
        /// <summary>
        /// 针对增删改的方法,(有一个参数)
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="values"></param>
        /// <returns></returns>
        public static int ExecuteCommand(string sql, SqlParameter values)
        {
            SqlCommand cmd = new SqlCommand(sql, Connection);
            cmd.Parameters.Add(values);
            return cmd.ExecuteNonQuery();
        }
        /// <summary>
        /// 针对增删改的方法,(有参数)
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="values"></param>
        /// <returns></returns>
        public static int ExecuteCommand(string sql, params SqlParameter[] values)
        {
            SqlCommand cmd = new SqlCommand(sql, Connection);
            cmd.Parameters.AddRange(values);
            return cmd.ExecuteNonQuery();
        }
        /// <summary>
        /// 执行查询,返回一行一列的记录
        /// </summary>
        /// <param name="safeSql"></param>
        /// <returns></returns>
        public static int GetScalar(string safeSql)
        {
            SqlCommand cmd = new SqlCommand(safeSql, Connection);
            int result = Convert.ToInt32(cmd.ExecuteScalar());
            return result;
        }
        public static string GetScalar1(string safeSql)
        {
            SqlCommand cmd = new SqlCommand(safeSql, Connection);
            string result = Convert.ToString(cmd.ExecuteScalar());
            return result;
        }    public static string GetScalar1(string safeSql, params SqlParameter[] values)
        {
            SqlCommand cmd = new SqlCommand(safeSql, Connection);
            cmd.Parameters.AddRange(values);
            string result = Convert.ToString(cmd.ExecuteScalar());
            return result;
        }
        /// <summary>
        /// 执行查询,返回一行一列的记录
        /// </summary>
        /// <param name="values"></param>
        /// <returns></returns>
        public static int GetScalar(params SqlParameter[] values)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = Connection;
            cmd.CommandText = "Pro_InsertOrder";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddRange(values);
            int result = Convert.ToInt32(cmd.ExecuteScalar());
            return result;
        }
        /// <summary>
        /// 执行查询,返回一行一列的记录(有参数)
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="values"></param>
        /// <returns></returns>
        public static int GetScalar(string sql, params SqlParameter[] values)
        {
            SqlCommand cmd = new SqlCommand(sql, Connection);
            cmd.Parameters.AddRange(values);
            object result =  cmd.ExecuteScalar() ;
            if (result is DBNull)
            {
                return 0;
            }
            else
            {
                return Convert.ToInt32(result);
            }
        }
        /// <summary>
        /// 执行查询方法(一行一行读取)
        /// </summary>
        /// <param name="safeSql"></param>
        /// <returns></returns>
        public static SqlDataReader GetReader(string safeSql)
        {
            SqlCommand cmd = new SqlCommand(safeSql, Connection);
            SqlDataReader reader = cmd.ExecuteReader();
            return reader;
        }
        /// <summary>
        /// 执行查询方法(一行一行读取)  (有参数)
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="values"></param>
        /// <returns></returns>
        public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
        {
            SqlCommand cmd = new SqlCommand(sql, Connection);
            cmd.Parameters.AddRange(values);
            SqlDataReader reader = cmd.ExecuteReader();
            return reader;
        }
        /// <summary>
        /// 执行查询方法,返回集合
        /// </summary>
        /// <param name="safeSql"></param>
        /// <returns></returns>
        public static DataTable GetDataSet(string safeSql)
        {
            DataSet ds = new DataSet();
            SqlCommand cmd = new SqlCommand(safeSql, Connection);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);
            return ds.Tables[0];
        }
        /// <summary>
        /// 执行查询方法,返回集合(有参数)
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="values"></param>
        /// <returns></returns>
        public static DataTable GetDataSet(string sql, params SqlParameter[] values)
        {
            DataSet ds = new DataSet();
            SqlCommand cmd = new SqlCommand(sql, Connection);
            cmd.Parameters.AddRange(values);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);
            return ds.Tables[0];
        }}