使用C#将SqlServer增删改查操作封装类

咳,老明宇写了一个SqlServer的封装类,简单实用,有基础有兴趣的宝宝们,可以参考一下!

一共分为三个主要方法ExecuteScalar()方法:返回结果集中的第一行第一列;ExecuteReader()方法:返回DataReader对象;ExecuteNonQuery()方法:执行增,删,改操作,返回受影响的行数。

注:为了方便大家理解代码分为三个部分,都是在 class Zhuang{} 类中编写的


代码部分(如下):

必要的包还是要提前导入的呦!

using System.Data.SqlClient;
using System.Data;

 第一部分:

        //属性连接数据库语句
        private const string CONNSTR = "server=.;database=Demo2;uid=sa;pwd=sa";
        //Connection属性的封装
        private SqlConnection _conn;
        public SqlConnection Conn {
            get {
                if (_conn != null)
                {
                    //为了安全,连接数据库时如果数据库连接断开或者正在打开,我们都先将其关闭
                    if (_conn.State == ConnectionState.Broken || _conn.State == ConnectionState.Open)
                    {
                        _conn.Close();
                    }
                }
                else {
                    //连接数据库
                    _conn = new SqlConnection(CONNSTR);
                }
                _conn.Open();
                return _conn;
            }
        }

第二部分:

        //Command属性的封装
        private SqlCommand _cmd;
        public SqlCommand Cmd {
            get {
                _cmd = new SqlCommand();
                //使用Conn的数据库连接
                _cmd.Connection = Conn;
                return _cmd;
            }
        }

第三部分:

        //查询ExecuteReader
        public SqlDataReader ExecuteReader(string sql) {
            SqlCommand cmd = Cmd;
            cmd.CommandText = sql;
            SqlDataReader reader =  cmd.ExecuteReader(CommandBehavior.CloseConnection);
            return reader;
            //在调用ExecuteReader()方法时请注意,数据库并没有关闭,在调用使用完成之后要将其关闭
            //关闭代码为:reader.Close();
        }
        //查询ExecuteScalar
        public object ExecuteScalar(string sql) {
            SqlCommand cmd = Cmd;
            cmd.CommandText = sql;
            object obj = cmd.ExecuteScalar();
            //关闭数据库,返回查询对象
            cmd.Connection.Close();
            return obj;
        }
        //增,删,改ExecuteNonQuery
        public int ExecuteNonQuery(string sql) {
            SqlCommand cmd = Cmd;
            cmd.CommandText = sql;
            int result = cmd.ExecuteNonQuery();
            //关闭数据库,返回受影响行数 
            cmd.Connection.Close();
            return result;
        }

上面代码没有加入异常捕捉,有需要的宝宝们可以在此基础上,自行延申!

老明宇主页有用C#数据库写的吃货联盟源码,有兴趣的可以看一看!

对于初学者来说,编程几乎没有捷径,就是多写,多看,多练,以上代码老明宇希望大家都能掌握。

你可能感兴趣的:(C#)