• .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;
                    }
                }
            }
        }
           

  • 相关阅读:
    二叉树——遍历:按层次非递归遍历、先序非递归、先中后序递归遍历二叉树的链表结构【C语言,数据结构】(内含源代码)
    ClickHouse 面试题
    WSL 2 上启用微软官方支持的 systemd
    【kubernetes篇】如何精确控制滚动更新
    vue3中安装并使用CSS预处理器Sass的方法介绍
    Vue3——setup 语法检测
    jquery链接导入和基本选择器的使用
    记一次导入下载好的源码工程到本地工程异常解决方案
    小程序开发外包费用一般是多少?
    ​苹果应用高版本出现:“无法安装此app,因为无法验证其完整性”是怎么回事?竟然是错误的?
  • 原文地址:https://blog.csdn.net/m0_74456535/article/details/128098226