• .NET餐厅管理系统sql数据帮助类执行SQL返回DataTable数据集、使用事务执行多条SQL(插入、更新、删除)


     #region  //执行SQL返回DataTable数据集
        ///


        /// 执行SQL返回DataTable数据集
        ///

        ///
        ///
        public DataTable GetDataTable(string sql_)
        {
            if (sql_ == "")
                return null;
            DataTable dt = null;
            DataSet ds = null;
            try
            {
                OpenDb();
                SqlDataAdapter myad = new SqlDataAdapter(sql_, conn);
                ds = new DataSet();
                myad.Fill(ds);//用数据适配器填充数据集
                myad.Dispose();
                myad = null;
                CloseDb();

                if (ds.Tables.Count <= 0)
                    return null;
                dt = ds.Tables[0];
            }
            catch (Exception e)
            {
                throw new Exception(e.ToString() + "  " + sql_);
            }
            return dt;
        }
        #endregion

        #region //使用事务执行多条SQL(插入、更新、删除)
        ///


        /// 使用事务执行多条SQL(插入、更新、删除)
        ///

        ///
        public bool ExecTansaction(List sqls)
        {
            if (sqls.Count == 0) return false;

            OpenDb();

            // 启动一个事务。 
            SqlTransaction myTran = conn.BeginTransaction();
            // 为事务创建一个命令
            SqlCommand myCom = new SqlCommand();
            myCom.Connection = conn;
            myCom.Transaction = myTran;
            try
            {
                foreach (string sql in sqls)
                {
                    myCom.CommandText = sql;
                    myCom.ExecuteNonQuery();
                }
                myTran.Commit();//提交事务
                return true;
            }
            catch (Exception Ex)
            {
                myTran.Rollback();

                //返回异常的错误信息 
                //MessageBox.Show("提交数据失败!\n" + ex.Message.ToString(), "异常信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                throw new Exception("提交数据失败!\n" + Ex.Message.ToString());
                return false;
            }
            finally
            {
                conn.Close();
            }
        }
        #endregion
     

  • 相关阅读:
    List 集合的一些常用操作
    C语言到底适不适合新手学习?
    前馈神经网络(FFNN)和多层感知机(MLP)
    从扫码登录的原理分析QQ大量被盗事件
    【C++】类和对象(中下)
    【软件工程中的增量模型】
    FLStudio2023水果中文版本使用操作心得与技巧
    Vue框架--Vue过滤器
    shell修改永久性别名,压缩与解压缩(zip gzip bzip2)文件上传预下载(sftp)
    自动化Conda包构建的艺术:使用conda smithy工具的指南
  • 原文地址:https://blog.csdn.net/m0_74456535/article/details/128023042