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"是存储过程名称

  • 相关阅读:
    表单提交与后台PHP如何接口?
    json数组转普通数组 普通数组转json数组
    使用Memcache缓存mysql数据库操作的原理和缓存过程浅析
    int(3)和int(10)的区别
    CI 3.0.6 控制器打印base_url 地址不为 localhost的解决方法
    CI3.0控制器下面建文件夹 访问一直404 的解决方法
    http响应需要记住的状态码
    laravel 表单验证 正则匹配
    laravel 加中间件的方法 防止直接打开后台
    Laravel 设置时区
  • 原文地址:https://www.cnblogs.com/witeem/p/9109784.html
Copyright © 2011-2022 走看看