当前位置 : 主页 > 编程语言 > c语言 >

c# – 任何体面的ADO.NET Helper都可以在那里使用?

来源:互联网 收集:自由互联 发布时间:2021-06-25
我正在寻找一些不错的ADO.NET帮助器实用程序类,以允许我查询ado.net数据源.我不是在寻找任何过于花哨的东西,但它必须支持交易.那里有什么吗? 附:我知道数据访问块会这样做,但我正
我正在寻找一些不错的ADO.NET帮助器实用程序类,以允许我查询ado.net数据源.我不是在寻找任何过于花哨的东西,但它必须支持交易.那里有什么吗?

附:我知道数据访问块会这样做,但我正在寻找一些比其他组件更独立的东西.像一个简单的图书馆或东西

如果它只是一个光包装器为什么不自己包装命令?

例如:

/// <summary>
    /// Executes a stored procedure or query, returns the number of rows effected.
    /// </summary>
    /// <param name="commandText"></param>
    /// <param name="commandType"></param>
    /// <param name="sqlParameters"></param>
    /// <param name="sqlTransaction"></param>
    /// <returns></returns>
    public static int ExecuteQuery(string commandText, CommandType commandType, List<SqlParameter> sqlParameters, SqlTransaction sqlTransaction)
    {
        if (sqlTransaction == null)
        {
            using (SqlConnection sqlConnection = new SqlConnection(GetConnectionString()))
            {
                sqlConnection.Open();
                using (SqlCommand sqlCommand = sqlConnection.CreateCommand())
                {
                    sqlCommand.CommandType = commandType;
                    sqlCommand.CommandText = commandText;
                    if (sqlParameters != null)
                    {
                        foreach (SqlParameter sqlParameter in sqlParameters)
                        {
                            sqlCommand.Parameters.Add(sqlParameter);
                        }
                    }
                    return sqlCommand.ExecuteNonQuery();
                }
            }
        }
        else
        {
            SqlCommand sqlCommand = new SqlCommand(commandText, sqlTransaction.Connection, sqlTransaction);
            sqlCommand.CommandType = commandType;
            foreach (SqlParameter sqlParameter in sqlParameters)
            {
                sqlCommand.Parameters.Add(sqlParameter);
            }
            return sqlCommand.ExecuteNonQuery();
        }
    }
网友评论