.NET餐厅管理系统sql数据帮助类执行SQL返回DataReader数据集、执行SQL语句,返回影响的记录数、执行多条SQL语句,实现数据库事务。
admin
2024-03-15 02:06:10

 #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;
                }
            }
        }
    }
       

相关内容

热门资讯

湖南的辣与江西的辣 在《“孪生兄弟”——湖南与江西?》一文中,我们一同“触摸”并感受了两地相似的山川脉络、江河湖泊与亭台...
这趟恩施之旅,见证了热情淳朴的... 恩施这片神奇的土地,用短短五天时间就在我心里刻下了无法磨灭的印记。那些云雾缭绕的山峰、清澈见底的溪流...
原创 湘... “桂林山水甲天下,阳朔山水甲桂林”一说,增加了我们到阳朔去的迫切期待。26日下午,我们终于坐上了从桂...
走起!去太行一号旅游公路五台山... 作图:宫可欣来源:五台山管委会
巡湘记荣登2025第九届中华餐... 2025年11月13日,上海新国际博览中心见证了餐饮界的一场盛会——“2025第22届中华餐饮双创论...