下面图老师小编要向大家介绍下c# 数据库的 sql 参数封装类的编写,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!
【 tulaoshi.com - 编程语言 】
数据库的 sql 参数封装类的编写
代码如下:
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; 
using System.Text; 
namespace ChinaSite.classes 
{ 
    public class DbAccess 
    { 
        SqlConnection conn = null; 
        SqlCommand cmd = null; 
        public DbAccess() 
        { 
            // 
            // TODO: 在此处添加构造函数逻辑 
            // 
            conn = new SqlConnection(); 
            //conn.ConnectionString = "initial catalog=pubs;data source=.;user id=sa;password="; 
            //conn.ConnectionString = Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["datasource"]); 
            conn.ConnectionString = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["datasource"]); 
            cmd = new SqlCommand(); 
            cmd.Connection = conn; 
        } 
        /// summary 
        /// 获取数据根据sql语句  
        /// /summary 
        /// param name="sql"/param 
        /// returns/returns 
        public DataTable GetTable(string sql) 
        { 
            DataSet ds = new DataSet(); 
            try 
            { 
                cmd.CommandText = sql; 
                SqlDataAdapter da = new SqlDataAdapter(); 
                da.SelectCommand = cmd; 
                da.Fill(ds); 
            } 
            catch (Exception ex) 
            { 
                this.ShowError(ex.Message); 
                return null; 
            } 
            return ds.Tables[0] ?? new DataTable(); 
        } 
        /// summary 
        /// 获取数据根据sql语句 带参数 的  
        /// /summary 
        /// param name="sql"/param 
        /// param name="pas"/param 
        /// returns/returns 
        public DataTable GetTable(string sql, params SqlParameter[] pas) 
        { 
            DataSet ds = new DataSet(); 
            try 
            { 
                cmd.CommandText = sql; 
                SqlDataAdapter da = new SqlDataAdapter(); 
                da.SelectCommand = cmd; 
                cmd.Parameters.Clear(); 
                foreach (SqlParameter temppa in pas) 
                { 
                    cmd.Parameters.Add(temppa); 
                } 
                da.Fill(ds); 
            } 
            catch (Exception ex) 
            { 
                this.ShowError(ex.Message); 
                return null; 
            } 
            return ds.Tables[0] ?? new DataTable(); 
        } 
        /// summary 
        /// 根据sql语句返回跟新状态 
        /// /summary 
        /// param name="sql"/param 
        /// returns/returns 
        public bool GetState(string sql) 
        { 
            bool succ = false; 
            try 
            { 
                cmd.CommandText = sql; 
                conn.Open(); 
                succ = cmd.ExecuteNonQuery()  0 ? (true) : (false); 
                conn.Close(); 
            } 
            catch (Exception ex) 
            { 
                this.ShowError(ex.Message); 
                return false; 
            } 
            return succ; 
        } 
        /// summary 
        /// 根据sql语句返回跟新状态带参数的  
        /// /summary 
        /// param name="sql"sql语句/param 
        /// param name="pas"参数的集合/param 
        /// returns/returns 
        public bool GetState(string sql, params SqlParameter[] pas) 
        { 
            bool succ = false; 
            try 
            { 
                cmd.CommandText = sql; 
                cmd.Parameters.Clear(); 
                foreach (SqlParameter temppa in pas) 
                { 
                    cmd.Parameters.Add(temppa); 
                } 
                conn.Open(); 
                succ = cmd.ExecuteNonQuery()  0 ? (true) : (false); 
                conn.Close(); 
            } 
            catch (Exception ex) 
            { 
                this.ShowError(ex.Message); 
                return false; 
            } 
            return succ; 
        } 
        /// summary 
        /// 根据sql语句返回第一个单元格的数据 
        /// /summary 
        /// param name="sql"/param 
        /// returns/returns 
        public string GetOne(string sql) 
        { 
            string res = ""; 
            try 
            { 
                cmd.CommandText = sql; 
                conn.Open(); 
                res = cmd.ExecuteScalar() == null ? ("") : (Convert.ToString(cmd.ExecuteScalar())); 
                conn.Close(); 
            } 
            catch (Exception ex) 
            { 
                this.ShowError(ex.Message); 
                return null; 
            } 
            return res; 
        } 
        /// summary 
        ///  根据sql语句返回第一个单元格的数据带参数的  
        /// /summary 
        /// param name="sql"/param 
        /// param name="pas"/param 
        /// returns/returns 
        public string GetOne(string sql, params SqlParameter[] pas) 
        { 
            string res = ""; 
            try 
            { 
                cmd.CommandText = sql; 
                cmd.Parameters.Clear(); 
                foreach (SqlParameter temppa in pas) 
                { 
                    cmd.Parameters.Add(temppa); 
                } 
                conn.Open(); 
                res = cmd.ExecuteScalar() == null ? ("") : (Convert.ToString(cmd.ExecuteScalar())); 
                conn.Close(); 
            } 
            catch (Exception ex) 
            { 
                this.ShowError(ex.Message); 
                return null; 
            } 
            return res; 
        } 
        /// summary 
        /// 返回数据的DataReader 
        /// /summary 
        /// param name="sql"/param 
        /// returns/returns 
        public SqlDataReader GetDataReader(string sql) 
        { 
            SqlDataReader dr = null; 
            try 
            { 
                conn.Open(); 
                cmd.CommandText = sql; 
                dr = cmd.ExecuteReader(); 
            } 
            catch (Exception ex) 
            { 
                this.ShowError(ex.Message); 
                return null; 
            } 
            return dr; 
        } 
        /// summary 
        /// 返回数据的DataReader带参数的  
        /// /summary 
        /// param name="sql"/param 
        /// param name="pas"/param 
        /// returns/returns 
        public SqlDataReader GetDataReader(string sql, params SqlParameter[] pas) 
        { 
            SqlDataReader dr = null; 
            try 
            { 
                conn.Open(); 
                cmd.Parameters.Clear(); 
                foreach (SqlParameter temppa in pas) 
                { 
                    cmd.Parameters.Add(temppa); 
                } 
                cmd.CommandText = sql; 
                dr = cmd.ExecuteReader(); 
            } 
            catch (Exception ex) 
            { 
                this.ShowError(ex.Message); 
                return null; 
            } 
            return dr; 
        } 
        /// summary 
        /// 打开连接 
        /// /summary 
        public void OpenConn() 
        { 
            if (conn.State != ConnectionState.Open) 
            { 
                try 
                { 
                    conn.Open(); 
                } 
                catch (Exception ex) 
                { 
                    this.ShowError(ex.Message); 
                    return; 
                } 
            } 
        } 
        /// summary 
        /// 关闭连接 
        /// /summary 
        public void CloseConn() 
        { 
            if (conn.State != ConnectionState.Closed) 
            { 
                try 
                { 
                    conn.Close(); 
                    cmd = null; 
                    conn = null; 
                } 
                catch (Exception ex) 
                { 
                    this.ShowError(ex.Message); 
                    return; 
                } 
            } 
        } 
        /// summary 
        /// 弹出错误的信息  
        /// /summary 
        /// param name="err"/param 
        public void ShowError(string err) 
        { 
            System.Web.HttpContext.Current.Response.Write(Script(err, "")); 
        } 
        /// summary 
        /// 显示信息  
        /// /summary 
        /// param name="err"/param 
        public void ShowMessage(string mes, string loc) 
        { 
            System.Web.HttpContext.Current.Response.Write(Script(mes, loc)); 
        } 
        /// summary 
        /// javascript脚本 
        /// /summary 
        /// param name="mess"/param 
        /// param name="loc"/param 
        /// returns/returns 
        public string Script(string mess, string loc) 
        { 
            StringBuilder sb = new StringBuilder(); 
            sb.Append("script language='javascript'"); 
            sb.Append("alter('"); 
            sb.Append(mess); 
            sb.Append("');"); 
            sb.Append(loc); 
            sb.Append("/script"); 
            return sb.ToString(); 
        } 
    } 
} 
来源:http://www.tulaoshi.com/n/20160219/1595272.html
看过《c# 数据库的 sql 参数封装类的编写》的人还看了以下文章 更多>>