aspnet调用sqlserver分页存储过程

/// <summary>
        /// 获取分页的一个datatable并返回符合条件的记录的总条数
        /// </summary>
        /// <param name="tablename">查询的表的名称</param>
        /// <param name="field">查询的字段</param>
        /// <param name="wheresql">不带where的where语句</param>
        /// <param name="orderby">排序字段及排序,请自行加上order by</param>
        /// <param name="pagesize">取的条数</param>
        /// <param name="page">当前页数</param>
        /// <param name="count">总记录数</param>
        public static DataTable PagenationDataTable(string tablename, string tablefield, string wheresql, string orderby, int pagesize, int page, out int count)
        {
            string countsql = "select count(*) from " + tablename;
            if (!string.IsNullOrEmpty(wheresql))
                countsql = countsql + " where " + wheresql;
            DataTable reuslt = new DataTable();

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();

                SqlDataAdapter sda = new SqlDataAdapter("CommonPagenation", conn);
                sda.SelectCommand.CommandType = CommandType.StoredProcedure;
                sda.SelectCommand.Parameters.AddRange(new SqlParameter[] {
                             new SqlParameter("@tableField",tablefield),
                             new SqlParameter("@tableName",tablename),
                             new SqlParameter("@selectWhere",wheresql),
                             new SqlParameter("@selectID","ID"),
                             new SqlParameter("@selectOrder",orderby),
                             new SqlParameter("@pageNo",page),
                             new SqlParameter("@pageSize",pagesize)});
                sda.Fill(reuslt);

                SqlCommand cmd = new SqlCommand(countsql, conn);
                count = Convert.ToInt32(cmd.ExecuteScalar());
            }
            return reuslt;
        }

        /// <summary>
        /// 获取分页的一个datatable并返回符合条件的记录的总条数
        /// </summary>
        /// <param name="id">字段</param>
        /// <param name="tablename">查询的表的名称</param>
        /// <param name="tablefield">查询的字段</param>
        /// <param name="wheresql">不带where的where语句</param>
        /// <param name="orderby">排序字段及排序,请自行加上order by</param>
        /// <param name="pagesize">取的条数</param>
        /// <param name="page">当前页数</param>
        /// <param name="count">总记录数</param>
        public static DataTable PagenationDataTable(string id, string tablename, string tablefield, string wheresql, string orderby, int pagesize, int page, out int count)
        {
            string countsql = "select count(*) from " + tablename;
            if (!string.IsNullOrEmpty(wheresql))
                countsql = countsql + " where " + wheresql;
            DataTable reuslt = new DataTable();

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();

                SqlDataAdapter sda = new SqlDataAdapter("CommonPagenation", conn);
                sda.SelectCommand.CommandType = CommandType.StoredProcedure;
                sda.SelectCommand.Parameters.AddRange(new SqlParameter[] {
                             new SqlParameter("@tableField",tablefield),
                             new SqlParameter("@tableName",tablename),
                             new SqlParameter("@selectWhere",wheresql),
                             new SqlParameter("@selectID",id),
                             new SqlParameter("@selectOrder",orderby),
                             new SqlParameter("@pageNo",page),
                             new SqlParameter("@pageSize",pagesize)});
                sda.Fill(reuslt);

                SqlCommand cmd = new SqlCommand(countsql, conn);
                count = Convert.ToInt32(cmd.ExecuteScalar());
            }
            return reuslt;
        }
前台调用和mysql的前台调用基本一致,具体参考aspnet调用mysql存储过程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值