仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 490|回复: 9
打印 上一主题 下一主题

[学习教程] ASP教程之DataGrid自界说分页存储历程

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:14:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。datagrid|存储历程|分页存储历程代码:

CREATEprocpage
@RecordCountintoutput,
@QueryStrnvarchar(100)=table1,--表名、视图名、查询语句
@PageSizeint=20,--每页的巨细(行数)
@PageCurrentint=1,--要显现的页
@FdShownvarchar(1000)=*,--要显现的字段列表
@IdentityStrnvarchar(100)=id,--主键
@WhereStrnvarchar(200)=1=1andid%11111=0,
@FdOrdernvarchar(100)=id,--排序
@isReturnbit=0
as
declare
@sqlnvarchar(2000)
set@sql=
if@WhereStr=begin
set@WhereStr=1=1
end
declare@tsqlnvarchar(200)
if(@isReturn=1)begin
set@tsql=Nselect@RecordCount=count(*)from+@QueryStr+where+@WhereStr
execsp_executesql@tsql,N@RecordCountintoutput,@RecordCountoutput
end
elsebegin
set@RecordCount=@PageSize*@PageCurrent+1
end
if@PageCurrent=1begin
set@sql=selecttop+cast(@PageSizeasnvarchar(3))++@FdShow+from+@QueryStr+where+@WhereStr+orderby+@IdentityStr
end
elsebegin
set@sql=selecttop+cast(@PageSizeasnvarchar(3))++@FdShow+from+@QueryStr+where+@WhereStr+and+@IdentityStr+>(selectmax(+@IdentityStr+)from(selecttop+cast(@PageSize*(@PageCurrent-1)asnvarchar(10))++@IdentityStr+from+@QueryStr+where+@WhereStr+orderby+@IdentityStr+)ast)orderby+@IdentityStr
end
if@FdOrderand@FdOrder@IdentityStrbegin
set@sql=select*from(+@sql+)ast4867435348493orderby+@FdOrder
end
--print@sql
execute(@sql)
GO

背景代码:
protectedSystem.Web.UI.WebControls.DataGridDataGrid1;

privatevoidPage_Load(objectsender,System.EventArgse)
{
//在此处安排用户代码以初始化页面
if(!Page.IsPostBack)
{
DataGrid1DataBind(1);
}
}
privatevoidDataGrid1DataBind(intpage)
{
SqlConnectionconn=newSqlConnection("server=qq;uid=sa;pwd=***;database=testdb");
SqlCommandcmd=newSqlCommand("page",conn);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameterp1=cmd.Parameters.Add("@RecordCount",SqlDbType.Int);
p1.Direction=ParameterDirection.Output;
SqlParameterp=cmd.Parameters.Add("@PageCurrent",SqlDbType.Int);
p.Value=page;
SqlDataAdapterda=newSqlDataAdapter();
DataSetds=newDataSet();
da.SelectCommand=cmd;
da.Fill(ds);
DataGrid1.DataSource=ds.Tables[0].DefaultView;
intcount=int.Parse(cmd.Parameters["@RecordCount"].Value.ToString());
if(null==ViewState["page"]||""==ViewState["page"].ToString())
{
ViewState["page"]=count.ToString();
}
else
{
count=int.Parse(ViewState["page"].ToString());
}

DataGrid1.VirtualItemCount=count;
DataGrid1.DataBind();
}
privatevoidDataGrid1_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse)
{
DataGrid1.CurrentPageIndex=e.NewPageIndex;
DataGrid1DataBind(e.NewPageIndex+1);
}

使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-17 13:16:00 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-20 18:11:07 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
只想知道 该用户已被删除
地板
发表于 2015-1-24 12:38:32 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
小女巫 该用户已被删除
5#
发表于 2015-1-26 23:53:13 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
冷月葬花魂 该用户已被删除
6#
 楼主| 发表于 2015-2-2 22:22:52 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
若天明 该用户已被删除
7#
发表于 2015-2-8 14:18:44 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
飘灵儿 该用户已被删除
8#
发表于 2015-2-25 16:23:33 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
深爱那片海 该用户已被删除
9#
发表于 2015-3-7 23:43:49 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
兰色精灵 该用户已被删除
10#
发表于 2015-3-22 02:10:23 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 10:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表