下载中心┊文章中心┊软件分类┊更新软件┊推荐下载┊热门软件┊更新文章┊热门文章
 
《拓文asp.net网站内容管理系统》官方演示站。
 设为首页    
 收藏本站
 作者:黄振安
 
网站首页 开源拓文 .NET编程 网站编程 网页设计 图形图像 数据库 软件工程留言本
    站内搜索:   
您现在的位置: 拓文网络 → 文章中心 → .NET编程 → ASP.NET → ASP.NET结合存储过程写的通用搜索分页程序[正文]

热 门 文 章

相 关 文 章
没有相关文章!
ASP.NET结合存储过程写的通用搜索分页程序
 
[作者:不详    转贴自:不详    点击数:    字体:【大 中 小】    更新时间:2006-2-24 21:54:04]

存储过程改自bigeagle的论坛分页程序。请大家批判!:)
select.aspx

--------------------------------------------------------------------------------

<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">

    protected void Page_Load(Object sender, EventArgs e)
         {
             int intPageNo,intPageSize,intPageCount;
             intPageSize = 25;
             if (Request["CurrentPage"]==null)
                 {
                     intPageNo = 1;
                 }
             else
                 {
                     intPageNo = Int32.Parse(Request["CurrentPage"]);
                 }
            
            
             SqlConnection mySqlConnection = new SqlConnection("server=(local);Database=test;user id=sa;password=");
             SqlCommand mySqlCommand = new SqlCommand("up_GetTopicList", mySqlConnection);
             mySqlCommand.CommandType = CommandType.StoredProcedure;
            
             SqlParameter workParm;
            
             //搜索表字段,以","号分隔
             workParm = mySqlCommand.Parameters.Add("@a_TableList", SqlDbType.VarChar, 200);
             mySqlCommand.Parameters["@a_TableList"].Value = "OFFERID,type,offertime";
            
             //搜索表名
             workParm = mySqlCommand.Parameters.Add("@a_TableName", SqlDbType.VarChar, 30);
             mySqlCommand.Parameters["@a_TableName"].Value = "offer";
            
             //搜索条件,如"select * from aa where a=1 and b=2 and c=3"则条件为"where a=1 and b=2 and c=3"
             workParm = mySqlCommand.Parameters.Add("@a_SelectWhere", SqlDbType.VarChar, 500);
             mySqlCommand.Parameters["@a_SelectWhere"].Value = "where type='idl'";
            
             //表主键字段名,必须为INT类型
             workParm = mySqlCommand.Parameters.Add("@a_SelectOrderId", SqlDbType.VarChar, 50);
             mySqlCommand.Parameters["@a_SelectOrderId"].Value = "offerid";      
            
             //排序,可以使用多字段排序但主键字段必需在最前面
             workParm = mySqlCommand.Parameters.Add("@a_SelectOrder", SqlDbType.VarChar, 50);
             mySqlCommand.Parameters["@a_SelectOrder"].Value = "order by offerid desc";
            
             //页号
             workParm = mySqlCommand.Parameters.Add("@a_intPageNo", SqlDbType.Int);
             mySqlCommand.Parameters["@a_intPageNo"].Value = intPageNo;
            
             //每页显示数
             workParm = mySqlCommand.Parameters.Add("@a_intPageSize", SqlDbType.Int);
             mySqlCommand.Parameters["@a_intPageSize"].Value = intPageSize;
            
             //总记录数(存储过程输出参数)
             workParm = mySqlCommand.Parameters.Add("@RecordCount", SqlDbType.Int);
             workParm.Direction = ParameterDirection.Output;            
            
             //当前页记录数(存储过程返回值)
             workParm = mySqlCommand.Parameters.Add("RowCount", SqlDbType.Int);
             workParm.Direction = ParameterDirection.ReturnValue;

             mySqlConnection.Open();
             Repeater.DataSource = mySqlCommand.ExecuteReader();                                  
            
             Repeater.DataBind();
            
             mySqlConnection.Close();
            
             Int32 RecordCount = (Int32)mySqlCommand.Parameters["@RecordCount"].Value;
             Int32 RowCount = (Int32)mySqlCommand.Parameters["RowCount"].Value;
            
             LabelRecord.Text = RecordCount.ToString();
             LabelRow.Text = intPageNo.ToString();
             intPageCount = RecordCount/intPageSize;
             if ((RecordCount%intPageSize)>0)
                 intPageCount += 1;
             LabelPage.Text = intPageCount.ToString();
            
             if (intPageNo>1)
                 {
                     HLFistPage.NavigateUrl = "select.aspx?CurrentPage=1";
                     HLPrevPage.NavigateUrl = String.Concat("select.aspx?CurrentPage=","",intPageNo-1);
                 }
             else
                 {
                     HLFistPage.NavigateUrl = "";
                     HLPrevPage.NavigateUrl = "";
                     //HLFistPage.Enabled = false;
                     //HLPrevPage.Enabled = false;
                 }
                
             if (intPageNo<intPageCount)
                 {
                     HLNextPage.NavigateUrl = String.Concat("select.aspx?CurrentPage=","",intPageNo+1);
                     HLEndPage.NavigateUrl = String.Concat("select.aspx?CurrentPage=","",intPageCount);
                 }
             else
                 {
                     HLNextPage.NavigateUrl = "";
                     HLEndPage.NavigateUrl = "";
                     //HLNextPage.Enabled=false;
                     //HLEndPage.Enabled=false;
                 }
            
         }

</script>
页次:1/2  1篇/页  首页   上一页   下一页   尾页  合计 2 篇 Go:

 
上一篇:ASP.NET实现用户在线检测的类源码
下一篇:将Word文档转化为HTML格式的文档
winner 打印本页 关闭窗口

     文 章 评 论
评论人 查看该文章的评论 发表时间
   笔 名* : 0 50分 60分 70分 80分 90分 100分
评论内容 *: (最多600字。当前字数:0)


没有相关评论,欢迎您参与!

- 关于本站 - 网站帮助 - 下载声明 - 友情连接 - 网站地图 -
Copyright © 2005-2006 rtht.Com. All Rights Reserved . [桂ICP备06004496号]程序设计: 拓文ASP.NET网站内容管理系统 V2.6 SQL版