zoukankan      html  css  js  c++  java
  • asp.net—执行分页存储过程的函数

    分页存储过程的T—SQL在之前的文章中已经跟大家分享过了

    现在就对应 分页存储过程  跟大家分享下在.net中执行的函数。

    该文章是希望给予新手一些编程过程中的帮助(大神可以帮忙指出代码中的不妥之处)

    public static DataTable PageQuery(string sqlconn, CommandType command_type, PageSearch DbConnection, ref Int32 totalCount, bool bNeedCloseConn = true)
    {
        SqlConnection cn = null;
        SqlCommand Mcmd;
        DataTable dt = new DataTable();
        try
        {
            SqlParameter[] para = new SqlParameter[10];
            para[0] = new SqlParameter("@tab", DbConnection.DbTable);
            para[1] = new SqlParameter("@PrimaryKey", DbConnection.DbPrimaryKey);
            para[2] = new SqlParameter("@strFld", DbConnection.DbFiles);
            para[3] = new SqlParameter("@strWhere", DbConnection.Where);
            para[4] = new SqlParameter("@PageIndex", DbConnection.PageIndex);
            para[5] = new SqlParameter("@PageSize", DbConnection.PageSize);
            para[6] = new SqlParameter("@Sort", DbConnection.Sort);
            para[7] = new SqlParameter("@Order", DbConnection.Order);
            para[8] = new SqlParameter("@IsDistinct", DbConnection.IsDistinct);
            para[9] = new SqlParameter("@TotalCount", SqlDbType.Int);
            para[9].Direction = ParameterDirection.Output;
            cn = comm_fun.get_cn(sqlconn);
            cn.Open();
            // 声明哪个执行存储过程
            Mcmd = new SqlCommand("pro_common_pageList", cn);
            Mcmd.CommandType = command_type;
            Mcmd.Parameters.AddRange(para);
            if (cn.State != ConnectionState.Open)
                cn.Open();
            // 获取分页数据集
            SqlDataReader sqldr = Mcmd.ExecuteReader();
            dt.Load(sqldr);
            sqldr.Close();
            // 返回总记录数
            totalCount = para[9].Value;
            if (bNeedCloseConn == true)
            {
                Mcmd.Dispose();
                cn.Close();
            }
            Mcmd.Parameters.Clear();      // 清掉参数以便下次使用
            return dt;
        }
        catch (Exception ex)
        {
            return dt;
        }
        finally
        {
            comm_fun.CloseConnection(cn);
        }
    }
        
    View Code

    注:上述代码中 “comm_fun” 是封装好的SqlHellper类。"pro_common_pageList"是存储过程名称

  • 相关阅读:
    MySQL日志系统
    MySQL基础架构
    Java操作XML牛逼利器JDOM&DOM4J
    SAX方式解析XML
    DOM方式解析XML
    Jquery Ajax
    Jquery动画效果
    angular6新建项目
    mysql命令行使用
    git常用命令
  • 原文地址:https://www.cnblogs.com/witeem/p/9109784.html
Copyright © 2011-2022 走看看