• .NET餐厅管理系统sql数据帮助类执行SQL返回DataReader数据集、执行SQL语句,返回影响的记录数、执行多条SQL语句,实现数据库事务。


     #region //执行SQL返回DataReader数据集
        public SqlDataReader getDataReader(String sql_)
        {
            if (sql_ == "")
                return null;
            SqlDataReader returnReader = null;
            try
            {
                OpenDb();
                SqlCommand command=new SqlCommand(sql_,conn);
                returnReader = command.ExecuteReader();
            }
            catch (Exception e)
            {
                throw new Exception(e.ToString() + "  " + sql_);
            }
            return returnReader;
        }
        #endregion

    ///


        /// 执行SQL语句,返回影响的记录数
        ///

        /// SQL语句
        ///
        /// 影响的记录数
        public int ExecuteNonQuery(string sqlString, params SqlParameter[] cmdParms)
        {
            using (var connection = new SqlConnection(connectionString))
            {
                using (var cmd = new SqlCommand())
                {
                    PrepareCommand(cmd, connection, null, sqlString, cmdParms);
                    int rows = cmd.ExecuteNonQuery();
                    cmd.Parameters.Clear();
                    return rows;
                }
            }
        }
        ///
        /// 执行多条SQL语句,实现数据库事务。
        ///

        /// SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])
        public void ExecuteSqlTran(Hashtable sqlStringList)
        {
            using (var conn = new SqlConnection(connectionString))
            {
                conn.Open();
                using (SqlTransaction trans = conn.BeginTransaction())
                {
                    var cmd = new SqlCommand();
                    try
                    {
                        //循环
                        foreach (DictionaryEntry myDe in sqlStringList)
                        {
                            string cmdText = myDe.Key.ToString();
                            var cmdParms = (SqlParameter[])myDe.Value;
                            PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
                            cmd.ExecuteNonQuery();
                            cmd.Parameters.Clear();
                        }
                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        throw;
                    }
                }
            }
        }
           

  • 相关阅读:
    【网络篇】第十一篇——简单的TCP英译汉服务器
    开学数码必买清单推荐,2022年开学季最值得入手的好物
    c++读取文件操作和写入文件
    [数据集][目标检测]井盖未盖好检测数据集VOC+YOLO格式20123张2类别
    LuatOS-SOC接口文档(air780E)-- io - io操作(扩展)
    2023了,是时候使用pnpm了!
    「优选算法刷题」:比较含退格的字符串
    Win10专业版如何重装-Win10专业版重装系统教程
    Taurus.MVC WebAPI 入门开发教程5:控制器安全校验属性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。
    scikit-learn保姆级入门教程
  • 原文地址:https://blog.csdn.net/m0_74456535/article/details/128098226