2024.12.20(周五)

复制代码
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace Database.Manipulation
{
    /**
     * 数据库操作类,对数据库查询、更新、删除等操作
     */
    class Manipulation
    {
        /**
         * 查询函数,返回 SqlDataReader 对象
         */
        public static SqlDataReader query(string queryLanguage, SqlConnection sqlConnection)
        {
            // 确保连接已经打开
            if (sqlConnection.State != ConnectionState.Open)
            {
                sqlConnection.Open();
            }

            // 创建并执行 SqlCommand
            SqlCommand command = new SqlCommand(queryLanguage, sqlConnection);
            return command.ExecuteReader();
        }

        /**
         * 更新函数,用于更新数据库的数据
         */
        public static Boolean update(string updateLanguage, SqlConnection sqlConnection)
        {
            try
            {
                // 确保连接已打开
                if (sqlConnection.State != ConnectionState.Open)
                {
                    sqlConnection.Open();
                }

                SqlCommand command = new SqlCommand(updateLanguage, sqlConnection);
                int n = command.ExecuteNonQuery();
                return n > 0; // 如果更新行数大于 0,则返回 true
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
        }

        /**
         * 调用存储过程函数,插入数据
         */
        public static Boolean insertStoredProcedure(string strProcName, params object[] paraValues)
        {
            SqlConnection sqlConnection = Connect.Connect.connectSql();
            try
            {
                // 确保连接已打开
                if (sqlConnection.State != ConnectionState.Open)
                {
                    Connect.Connect.openSql(sqlConnection);
                }

                SqlCommand command = new SqlCommand(strProcName, sqlConnection);
                command.CommandType = CommandType.StoredProcedure;

                if (paraValues != null)
                {
                    command.Parameters.AddRange(paraValues);
                }

                return command.ExecuteNonQuery() > 0;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            finally
            {
                Connect.Connect.closeSql(sqlConnection);
            }
        }

        /**
         * 调用存储过程函数,得到数据
         */
        public static DataTable readStoredProcedure(string strProcName, params object[] paraValues)
        {
            SqlConnection sqlConnection = Connect.Connect.connectSql();
            DataTable data = new DataTable();
            try
            {
                // 确保连接已打开
                if (sqlConnection.State != ConnectionState.Open)
                {
                    Connect.Connect.openSql(sqlConnection);
                }

                SqlCommand command = new SqlCommand(strProcName, sqlConnection);
                command.CommandType = CommandType.StoredProcedure;

                if (paraValues != null)
                {
                    command.Parameters.AddRange(paraValues);
                }

                using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                {
                    adapter.Fill(data);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                Connect.Connect.closeSql(sqlConnection);
            }

            return data;
        }

        /**
         * 调用存储过程函数,删除数据
         */
        public static Boolean deleteStoredProcedure(string strProcName, params object[] paraValues)
        {
            SqlConnection sqlConnection = Connect.Connect.connectSql();
            try
            {
                // 确保连接已打开
                if (sqlConnection.State != ConnectionState.Open)
                {
                    Connect.Connect.openSql(sqlConnection);
                }

                SqlCommand command = new SqlCommand(strProcName, sqlConnection);
                command.CommandType = CommandType.StoredProcedure;

                if (paraValues != null)
                {
                    command.Parameters.AddRange(paraValues);
                }

                return command.ExecuteNonQuery() > 0;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            finally
            {
                Connect.Connect.closeSql(sqlConnection);
            }
        }
    }
}
复制代码

 

posted @   记得关月亮  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示