首页 > 代码库 > 微软企业库5.0 调用 MySql 分页存储过程

微软企业库5.0 调用 MySql 分页存储过程

1.需要完成两个前置条件后才可以使用 微软企业库5.0 调用 MySql 存储过程

微软企业库5.0 支持 MySql

MySql 分页存储过程


2.需要添加一个继承 IParameterMapper 接口的类分配查询参数

using System.Data;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Grass.Extend;

namespace Grass.MySqlDal
{
  /// <summary>
  /// 分配查询参数
  /// </summary>
  public class MyDbParameterMapper : IParameterMapper
  {
    /// <summary>
    /// 实例化参数分配类实例
    /// </summary>
    /// <param name="pars">参数名数组</param>
    public MyDbParameterMapper(params IDataParameter[] pars)
    {
      m_pars = pars;
    }

    private IDataParameter[] m_pars = null;
    public DbCommand Cmd { set; get; }
    /// <summary>
    /// 分配查询参数
    /// </summary>
    /// <param name="command">查询命令对象</param>
    /// <param name="parameterValues">参数对象</param>
    public void AssignParameters(DbCommand command, object[] parameterValues)
    {
      Cmd = command;
      if (!parameterValues.IsNullOrDbNull() && parameterValues.Length>0)
        m_pars = parameterValues as IDataParameter[];

      if (m_pars == null)
        return;
      //输入参数
      if(!m_pars.IsNullOrDbNull())
        command.Parameters.AddRange(m_pars);
    }
  }
}

3.执行分页存储过程

    [TestMethod]
    public void TestExecStoreProcedure()
    {
      #region 输入参数
      List<MySqlParameter> parameters = new List<MySqlParameter>();
      //查询列
      parameters.Add(new MySqlParameter
      {
        MySqlDbType = MySqlDbType.VarChar,
        ParameterName = @"_fields",
        Value = http://www.mamicode.com/"order_no,order_date,order_type",>


</pre><pre>