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

  • 相关阅读:
    Mybatis 框架 ( 五 ) 分页
    Linux内存管理(十):unflatten_device_tree 详解
    科技的成就(三十八)
    Kaggle Feedback Prize 3比赛总结:如何高效使用hidden states输出(1)
    前端三剑客快速入门(二)
    【C语言】atoi函数的模拟
    29.单链表的C语言完整实现
    浅谈泛在电力物联网、能源互联网与虚拟电厂
    中文连续视觉语音识别挑战赛
    关于数据分析知识的干货分享
  • 原文地址:https://blog.csdn.net/m0_74456535/article/details/128098226