仓酷云

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

[学习教程] ASP网页编程之一个复杂的存储历程数据分页

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:13:16 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。存储历程|分页|数据1。数据库布局为:(在SQL傍边创建一个数据库后,间接在SQL布局查询器傍边实行以下SQL剧本)
ifexists(select*fromdbo.sysobjectswhereid=object_id(N[dbo].[Mobile])andOBJECTPROPERTY(id,NIsUserTable)=1)
droptable[dbo].[Mobile]
GO
CREATETABLE[dbo].[Mobile](
[MobileID][int]IDENTITY(1,1)NOTNULL,
[MobileType][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO

2。存储历程,(能够间接在数据库中新建存储历程,然后复制到数据库)
/*
存储历程分页
*/
CREATEPROCEDUREProc_Paging
(
@TBNameNVARCHAR(255),
@SQLnVARCHAR(4000),--不带排序语句的SQL语句
@Pageint,--页码
@RecsPerPageint,--每页包容的纪录数
@IDVARCHAR(255),--必要排序的不反复的ID号
@SortVARCHAR(255),--排序字段及划定规矩
@PageCountINTOUTPUT--总页数
)
AS
BEGIN
DECLARE@sql1nvarchar(4000)
SET@sql1=NSELECT@PageCount=COUNT(*)
+NFROM+@tbname
EXECsp_executesql@sql1,N@PageCountintOUTPUT,@PageCountOUTPUT
SET@PageCount=(@PageCount+@RecsPerPage-1)/@RecsPerPage
END
BEGIN
DECLARE@StrnVARCHAR(4000)
SET@Str=SELECTTOP+CAST(@RecsPerPageASVARCHAR(20))+*FROM(+@SQL+)TWHERET.+@ID+NOTIN(SELECTTOP+CAST((@RecsPerPage*(@Page-1))ASVARCHAR(20))++@ID+FROM(+@SQL+)T9ORDERBY+@Sort+)ORDERBY+@Sort
--PRINT@Str
--EXECsp_ExecuteSql@Str
--EXEC@Str
DECLARE@Str1NVARCHAR(400)
DECLARE@Str2NVARCHAR(400)
SET@Str1=CAST(@RecsPerPageASVARCHAR(20))
SET@Str2=CAST((@RecsPerPage*(@Page-1))ASVARCHAR(20))
EXEC(NSELECTTOP+@Str1+N*FROM(+@SQL+N)TWHERET.+@ID+NNOTIN(SELECTTOP+@Str2+N+@ID+NFROM(+@SQL+N)T9ORDERBY+@Sort+N)ORDERBY+@Sort)
END
GO

3。程序代码:(index.aspx.cs文件)
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.SessionState;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
namespaceJoyes.Test
{
///<summary>
//--------------------------------------------------
//--功效模块:存储历程分页
//--申明:很复杂
//--编写人:黄治强
//--编写工夫:2005.9.5
//---------------------------------------------------
///</summary>
publicclassindex:System.Web.UI.Page
{
protectedSystem.Web.UI.WebControls.DataGriddg;
protectedSystem.Web.UI.WebControls.LabellblPaging;

privatevoidPage_Load(objectsender,System.EventArgse)
{
//在此处安排用户代码以初始化页面
if(!Page.IsPostBack)
{
if(Request.QueryString["page"]==null)
{
//第一次开启页面时默许传送的页码参数为1
DataBindDg2(1);
}
else
{
DataBindDg2(int.Parse(Request.QueryString["page"].ToString()));
}
}
}
///<summary>
///使用存储历程掏出数据并邦定到DataGrid
///</summary>
///<paramname="intPage">必要传送的翻页页码的GET参数(int)</param>
privatevoidDataBindDg2(intintPage)
{
stringstr1="select*fromMobile";//不带排序语句的SQL语句
intintRecsPerPage=10;//每页包容的纪录数
stringstrID="MobileID";//必要排序的不反复的ID号
stringstrSort="MobileID";//排序字段及划定规矩
stringstrTBName="Mobile";//数据库傍边的要提取数据的表


SqlConnectioncon=newSqlConnection("uid=sa;pwd=123456;database=Test;");
SqlCommandcmd=newSqlCommand("Proc_Paging",con);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add(newSqlParameter("@SQL",SqlDbType.NVarChar,4000));
cmd.Parameters.Add(newSqlParameter("@Page",SqlDbType.Int));
cmd.Parameters.Add(newSqlParameter("@RecsPerPage",SqlDbType.Int));
cmd.Parameters.Add(newSqlParameter("@ID",SqlDbType.NVarChar,255));
&nbsp
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。
柔情似水 该用户已被删除
10#
发表于 2015-3-22 21:11:01 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-16 08:04:43 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
活着的死人 该用户已被删除
8#
发表于 2015-3-8 17:26:58 | 只看该作者
那么,ASP.Net有哪些改进呢?
老尸 该用户已被删除
7#
发表于 2015-2-26 20:41:06 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
admin 该用户已被删除
6#
发表于 2015-2-9 03:33:46 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
分手快乐 该用户已被删除
5#
发表于 2015-2-3 15:35:19 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
山那边是海 该用户已被删除
地板
 楼主| 发表于 2015-2-1 09:51:02 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
小魔女 该用户已被删除
板凳
发表于 2015-1-24 11:50:56 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-19 09:19:46 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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