使用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#数据库写的吃货联盟源码,有兴趣的可以看一看!

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

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用 C# 操作 SQL Server增删改查示例: 1. 连接数据库 ```csharp using System.Data.SqlClient; string connectionString = "Data Source=(local);Initial Catalog=databaseName;Integrated Security=True"; SqlConnection connection = new SqlConnection(connectionString); connection.Open(); ``` 2. 插入数据 ```csharp string insertQuery = "INSERT INTO tableName (column1, column2, column3) VALUES (@value1, @value2, @value3)"; SqlCommand command = new SqlCommand(insertQuery, connection); command.Parameters.AddWithValue("@value1", "value1"); command.Parameters.AddWithValue("@value2", "value2"); command.Parameters.AddWithValue("@value3", "value3"); command.ExecuteNonQuery(); ``` 3. 查询数据 ```csharp string selectQuery = "SELECT * FROM tableName"; SqlCommand command = new SqlCommand(selectQuery, connection); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { string column1Value = reader.GetString(0); string column2Value = reader.GetString(1); string column3Value = reader.GetString(2); // 输出或处理查询结果 } ``` 4. 更新数据 ```csharp string updateQuery = "UPDATE tableName SET column1 = @value1 WHERE column2 = @value2"; SqlCommand command = new SqlCommand(updateQuery, connection); command.Parameters.AddWithValue("@value1", "newValue1"); command.Parameters.AddWithValue("@value2", "value2"); command.ExecuteNonQuery(); ``` 5. 删除数据 ```csharp string deleteQuery = "DELETE FROM tableName WHERE column2 = @value2"; SqlCommand command = new SqlCommand(deleteQuery, connection); command.Parameters.AddWithValue("@value2", "value2"); command.ExecuteNonQuery(); ``` 6. 关闭连接 ```csharp connection.Close(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值