仓酷云

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

[学习教程] ASP网页设计ASP.NET数据库使用指南

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:29:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天关于一个纯熟的ASP开辟者来讲,ASP的数据库使用不仅复杂,并且功效还很壮大。良多WEB开辟者就是由于这一点而选择ASP的,至今为止,他们一向以为ASP数据库功效还不错,完整能够满意开辟请求。可是,关于一个方才进修ASP大概对HTML不是很熟习的用户来讲,ASP的数据库使用其实是太贫苦了:写程序时ASP代码交叉于HTML代码之间,修正和检测极不便利;写程序一点没有编写传统程序的感到,感到就像是写HTML一样;数据分页不便利,并且不分明为何要那末烦琐,几乎每页间接数数据差未几。这些贫苦,每个ASP开辟者都已经履历,那末,如今,ASP.NET的进修者,就不再会晤对这些了,他们能够很快速的开辟数据库使用,并且程序功能比之前高的多。如今,我们就详细来看看ASP.NET的数据库使用。

一:名字空间NameSpace
要利用ASP.NET的数据库功效,不成能分开名字空间NameSpace的利用。甚么是名字空间,说实际能够说半天,我们没需要懂得,复杂一点,名字控件就像Delphi中的控件,你必需将它们放进你的Form才干利用他们,一样,假如你要利用ASP.NET的数据库功效,你就必需先援用响应的名字空间。ASP.NET中关于数据库的名字空间有这些:


</IMG>

下面说到了ADO+,它是ADO的下一代,就像ASP.NET是ASP的下一代,相对ADO,ADO+有以下特性:
一)撑持XML;
二)更好的功能;
三)便利的编程接口;

名字空间的详细利用以下:
<%@ImportNameSpace=”名字空间”%>

举例:
<%@ImportNameSpace=”System.Data”%>

应当注重一点,以上代码必需在页面顶端。

二:基础观点
在利用ASP.NET之前,还必需懂得一些基础观点:
ADOConnection:相称于ASP中的数据库Connection;
ADOCommand:相称于ASP中的数据库Command;
DataView:相称于ASP的ADO纪录集RecordSet;
DataSet:多个数据表的汇合;

以上观点其实是对照笼统,假如如今不睬解,没关系,现照着利用,今后渐渐就会了解。

三:数据库基础利用榜样
看了一年夜堆观点,如今先来看一个实例(为了便利,间接利用SQLServer自带的NorthWind数据库),本文章今后举例,均以此榜样为基本,请人人必定把握:

<%@ImportNameSpace="System.Data"%>
<%@ImportNameSpace="System.Data.SQL"%>

<ScriptLanguage="VB"RunAt="Server">
Functioncreatedatasource()
DimconnASSQLConnection
DimconnstrAsString
DimstrsqlASString
DimsqlCmdASSQLDataSetCommand
DimdsASNewDataSet
毗连数据库
connstr=
"Server=NHGA-D36KQ26TWB;DataBase=NorthWind;Pwd=;Uid=sa"
conn=NewSQLConnection(connstr)
SQL语句
strsql="Select*fromProducts"
创建DataSet
sqlCmd=NewSQLDataSetCommand(strsql,conn)
将表Products到场DataSet
sqlCmd.FillDataset(ds,"Products")

returnds.Tables("Products").DefaultView
endFunction

绑定命据函数
subBindGrid()
DataGrid1.DataSource=CreateDataSource()
DataGrid1.DataBind()
EndSub

页面登录
SubPage_Load(SourceASObject,EASEventArgs)
CreatedataSource()
BindGrid()
EndSub
</Script>

<html>

<head>
<metahttp-equiv="Content-Language"content="zh-cn">
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<metaname="GENERATOR"content="MicrosoftFrontPage4.0">
<metaname="ProgId"content="FrontPage.Editor.Document">
<title>ASP.NET数据库利用</title>
</head>

<body>
<FormRunAt="Server">
<ASP:DataGridid="DataGrid1"RunAt="Server"/>
</Form>
</body>

</html>

实行以上程序,效果以下:


</IMG>

(程序实行效果)


以上是一个最复杂的ASP.NET数据库使用,独一功效就是列出NorthWind数据库Products表的一切纪录。能够和ASP对照一下,发明这个程序是云云的复杂。为了更好的懂得数据库使用的基础框架,我们来看看这个数据库使用详细是如何完成的。

页面登录时,挪用CreateDataSource和BindGrid函数,CreateDataSource函数毗连数据库而且创建DataView,BindGrid函数将数据绑定到DataGrid。有关这两个函数的详细语句,代码中均有申明。

四:基础数据库使用
有了以上模板,ASP.NET数据库使用的基础框架已有了,如今,我们必要在这个框架上作一些修正,是其加倍切合我们的实践利用请求。

一)界面设置
假如我们出现给会见者的数据全体利用以上模板的界面,也何尝不成。可是
谁不但愿本人的页面美妙一点呢?仍是以上代码,只是修正DataGrid部分,数据库部分稳定。将程序中:
<ASP:DataGridid="DataGrid1"RunAt="Server"/>
修正为:
<ASP:DataGridid="DataGrid1"RunAt="Server"
BorderColor="black"
BorderWidth="1"
CellPadding="3"

BackImageUrl=""
BackColor="#FFCCCC"
ForeColor="Black"

HeaderStyle-BackColor="#CCCCFF"
HeaderStyle-ForeColor="Blue"

AlternatingItemStyle-BackColor="#F3f3f3"
>
</ASP:DataGrid>
你将失掉以下效果:

</IMG>

(程序实行效果)

在这个界面内里,我们设置了字体,每行背景,DataGrid背景等,我们如今逐一剖析:
BorderColor="black"
BorderWidth="1"
CellPadding="3"
以上语句设置DataGrid的边框为玄色;边框粗细为1;单位格跨距为3;
BackImageUrl="apictue.gif"
BackColor="#FFCCCC"
ForeColor="Black"
以上语句设置DataGrid的背景图像为apicture.gif;背景色彩为#FFFFCC;字体色彩为玄色;
HeaderStyle-BackColor="#CCCCFF"
HeaderStyle-ForeColor="Blue"
以上语句设置DataGrid的Header属性,背景色彩为#CCCCFF;字体色彩为:蓝色;
AlternatingItemStyle-BackColor="#F3f3f3"
以上语句设置DataGrid每行瓜代背景色彩为F3F3F3;这一语句在ASP内里完成很烦琐,在这里,一句就办理。

二)数据分页
ASP内里的数据分页其实烦琐,不能不化良多精神往写代码。一些程序员就是由于这一点,假如数据不是太多爽性不分页,委曲对付。如今我们不再要为数据分页懊恼了,将一下代码到场DataGrid设置:
AllowPaging="True"
PageSize="5"
PagerStyle-HorizontalAlign="Right"
PagerStyle-NextpageText="下一页>>"
PagerStyle-PrevPageText="<<上一页"
页面效果以下:


</IMG>

(程序实行效果)

这就是一个尺度的数据分页,是否是比ASP复杂的多?我们来细心看一下代码是如何的:
AllowPaging="True"
以上代码同意数据举行分页,默许是False。以是,假如你要数据分页,必定要加上这一句;
PageSize="5"
PageSize和ASP中的一样,暗示每页有几纪录;
PagerStyle-HorizontalAlign="Right"
以上语句暗示分页符在页面的地位的右侧。
PagerStyle-NextpageText="下一页>>"
PagerStyle-PrevPageText="<<上一页"
以上语句暗示用“下一页”“上一页”作为分页标记,假如不但愿如许,想间接用数字暗示,往失落这两句就能够了。
注重:
与分页有关的另有PageCount属性,能够失掉分页的总数;

三)数据排序
数据排序不是在SQL语句内里就能够设定吗,为何还要专门来一个数据排序?SQL语句的数据排序只能服务器端设定,假如用户但愿依照本人的喜欢排序怎样办?ASP内里是没有举措办理的,如今,我们看看ASP.NET如何办理这个成绩。
在DataGrid设置内里到场一下语句:
AllowSorting="true"
OnSortCommand="Sort_Grid"
第一句暗示DataGrid接纳请求排序;第二局暗示点击排序今后的事务;我们来看看这个事务:
SubSort_Grid(SenderAsObject,EAsDataGridSortCommandEventArgs)
SortField=E.SortField
DataGrid1.DataSource=CreateDataSource()
DataGrid1.DataBind()
EndSub
点击排序今后,起首,设置排序字段为点击的字段,怎样从头显现数据。效果以下:


</IMG>

(程序实行效果)

如上图,每个字段名均是一个LinkButton(毗连),点击这个字段名,就能够按这个字段排序。必要注重的是,排序不是对以后页排序,而是对全部DataGrid排序。

四)数据编纂
数据库操纵出了数据扫瞄,最年夜部分实在就是对数据的处置(增添,修正,删除)。数据处置,ASP.NET和ASP没有太多的区分,我们看一个增添数据的例子就能够懂得ASP.NET的数据编纂的完成了。
SubInsertRec()
DimconnASSQLConnection
DimconnstrAsString
DimsqlinsertcmdASSQLCommand
DimsqlinsertASString

connstr="Server=NHGA-D36KQ26TWB;DataBase=MyBase;Pwd=;Uid=sa"
conn=NewSQLConnection(connstr)

sqlinsert="InsertIntoMyTable(title,name,content)Values(@title,@name,@content)"
sqlinsertcmd=NewSQLCommand(sqlinsert,conn)

sqlinsertcmd.parameters.Add(NewSQLParameter("@title",SQLDataType.varchar,20))
sqlinsertcmd.parameters.Add(NewSQLParameter("@name",SQLDataType.varchar,20))
sqlinsertcmd.parameters.Add(NewSQLParameter("@content",SQLDataType.varchar,20))

sqlinsertcmd.parameters.item("@title").value="Test3"
sqlinsertcmd.parameters.item("@name").value="Test3"
sqlinsertcmd.parameters.item("@content").value="Test3"

conn.open()
sqlinsertcmd.execute()

EndSub

以上代码中,起首创立一个数据库毗连,然后创建了一个拔出语句,此拔出语句利用了以@开首的参数,这一点大概与ASP稍有不同。利用参数之前,必需先创立参数,并要申明参数的数据范例。怎样翻开毗连,实行拔出语句就能够了。

五:总结
以上我们计划到了ASP.NET数据库操纵中经常使用的部分,基础能够完成我们一样平常编程请求。可是,假如要周全懂得ASP.NET的数据库功效,以上明显是不敷的,这必要我们加倍不休地进修其他ASP.NET的常识,举一反三。
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-19 15:10:52 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
山那边是海 该用户已被删除
板凳
发表于 2015-2-2 10:43:27 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-7 18:06:28 | 只看该作者
那么,ASP.Net有哪些改进呢?
变相怪杰 该用户已被删除
5#
发表于 2015-3-7 03:15:22 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
老尸 该用户已被删除
6#
发表于 2015-3-14 10:24:05 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-21 03:10:33 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-25 15:11

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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