c# 连接sql数据库的类应该怎么写?

解决方案 »

  1.   

    string _connectionString = ConfigurationManager.ConnectionStrings["xxxx"].ConnectionString;
    SqlConnection con = new SqlConnection(_connectionString);SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandText = ".....";
    cmd.CommandType = CommandType.StoredProcedure;
    using (con)
                {
                    con.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                      .....
                       }
                }            ....
            }
      

  2.   



    class DBconnect
    {
           public static SqlConnection sqlcon()
            {                      
                return new SqlConnection("server=.;Initial Catalog=chaoshi;Integrated Security=True");        }}
    调用时。。SqlConnection con=DBconnect.sqlcon();
      

  3.   

    using System;
    using System.Data;
    using AuditOnline.Common.ExceptionHandler;namespace AuditOnline.Common.DataAccess
    {
        /// <summary>
        /// 提供对数据表进行数据访问
        /// </summary>
        public abstract class DataAccessor
        {
            /// <summary>
            /// 更新与DataRow绑定的对象
            /// </summary>
            /// <param name="binder"></param>
            public void Update(IDataBinder binder)
            {
                binder.BindToRow();
                UpdateDataSet(binder);
            }        /// <summary>
            /// 更新一条记录
            /// </summary>
            /// <param name="binder"></param>
            private void UpdateDataSet(IDataBinder binder)
            {
                string sql = string.Format("select * from {0}", TableName);
                if (binder.Row.Table.DataSet == null)
                {
                    DataSet ds = new DataSet();
                    ds.Tables.Add(binder.Row.Table);
                }
                try
                {
                    WebServiceCommon.Instance.SystemServiceCommon.UpdateDataSet(sql, binder.Row.Table.DataSet);
                }
                catch (Exception ex)
                {
                    ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
                    throw ex;
                }            try
                {
                    binder.Row.AcceptChanges();
                }
                catch (Exception ex)
                {
                    ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
                }
            }        /// <summary>
            /// 删除一个与DataRow绑定的对象
            /// </summary>
            /// <param name="findedmodel"></param>
            public virtual void Delete(IDataBinder findedmodel)
            {
                findedmodel.Row.Delete();
                UpdateDataSet(findedmodel);
            }        /// <summary>
            ///  查询当前表所有数据集
            /// </summary>
            /// <returns></returns>
            public DataTable FindAll()
            {
                string sql = string.Format("select * from {0}  ", TableName);
                DataSet ds = null;
                try
                {
                    ds = WebServiceCommon.Instance.SystemServiceCommon.SysQuery(sql);
                }
                catch (Exception ex)
                {
                    ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
                    throw ex;
                }
                return ds.Tables[0];
            }        /// <summary>
            /// 通过条件查询当前关联表名的数据集
            /// </summary>
            /// <param name="clause"></param>
            /// <returns></returns>
            public DataTable FindByWhereClause(string clause)
            {
                string sql = string.Format("select * from {0} where {1} ", TableName, clause);
                DataSet ds = null;
                try
                {
                    ds = WebServiceCommon.Instance.SystemServiceCommon.SysQuery(sql);
                }
                catch (Exception ex)
                {
                    ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
                    throw ex;
                }
                return ds.Tables[0];
            }        /// <summary>
            /// 通过SQL语句查询数据集
            /// </summary>
            /// <param name="sqlString"></param>
            /// <returns></returns>
            public DataTable FindBySQLString(String sqlString)
            {
                string sql = string.Format(sqlString);
                DataSet ds = null;
                try
                {
                    ds = WebServiceCommon.Instance.SystemServiceCommon.SysQuery(sql);
                }
                catch (Exception ex)
                {
                    ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
                    throw ex;
                }
                return ds.Tables[0];
            }        /// <summary>
            /// 通过SQL语句查询数据集(重复)
            /// </summary>
            /// <param name="sqlString"></param>
            /// <returns></returns>
            public DataSet FillDataToDataSet(String sqlString)
            {
                string sql = string.Format(sqlString);
                DataSet ds = null;
                try
                {
                    ds = WebServiceCommon.Instance.SystemServiceCommon.SysQuery(sql);
                }
                catch (Exception ex)
                {
                    ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
                    throw ex;
                }
                return ds;
            }        /// <summary>
            /// 当前关联的表的名称
            /// </summary>
            public abstract string TableName
            {
                get;
            }
            /// <summary>
            ///  执行SQL语句
            /// </summary>
            /// <param name="sql"></param>
            /// <returns>该SQL语句执行后受影响的行数</returns>
            public int ExcuteNoQuery(string sql)
            {
                try
                {
                    return WebServiceCommon.Instance.SystemServiceCommon.SysExecuteNoQuery(sql);
                }
                catch (Exception ex)
                {
                    ExceptionRecords.AddExceptionRecords(this.GetType(), ex);
                    throw ex;
                }
            }
        }
    }