分享
 
 
 

ASP.NET数据库应用指南

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

对于一个熟练的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中关于数据库的名字空间有这些:

上面说到了ADO+,它是ADO的下一代,就像ASP.NET是ASP的下一代,相对于ADO,ADO+有以下特点:

(一) 支持XML;

(二) 更好的性能;

(三) 方便的编程接口;

名字空间的具体使用如下:

<%@ Import NameSpace=”名字空间”%>

举例:

<%@ Import NameSpace=”System.Data”%>

应该注意一点,以上代码必须在页面顶端。

二:基本概念

在使用ASP.NET以前,还必须了解一些基本概念:

ADOConnection:相当于ASP中的数据库Connection;

ADOCommand:相当于ASP中的数据库Command;

DataView:相当于ASP的ADO记录集RecordSet;

DataSet:多个数据表的集合;

以上概念实在是比较抽象,如果现在不理解,不要紧,现照着使用,以后慢慢就会理解。

三:数据库基本使用样板

看了一大堆概念,现在先来看一个实例(为了方便,直接使用SQL Server自带的NorthWind数据库),本文章以后举例,均以此样板为基础,请大家一定掌握:

<%@ Import NameSpace="System.Data"%>

<%@ Import NameSpace="System.Data.SQL"%>

<Script Language="VB" RunAt="Server">

Function createdatasource()

Dim conn AS SQLConnection

Dim connstr As String

Dim strsql AS String

Dim sqlCmd AS SQLDataSetCommand

Dim ds AS New DataSet

'连接数据库

connstr=

"Server=NHGA-D36KQ26TWB;DataBase=NorthWind;Pwd=;Uid=sa"

conn= New SQLConnection(connstr)

'SQL语句

strsql="Select * from Products "

'建立DataSet

sqlCmd=New SQLDataSetCommand(strsql,conn)

'将表Products加入DataSet

sqlCmd.FillDataset(ds,"Products")

return ds.Tables("Products").DefaultView

end Function

'绑定数据函数

sub BindGrid()

DataGrid1.DataSource=CreateDataSource()

DataGrid1.DataBind()

End Sub

'页面登录

Sub Page_Load(Source AS Object,E AS EventArgs)

CreatedataSource()

BindGrid()

End Sub

</Script>

<html>

<head>

<meta http-equiv="Content-Language" content="zh-cn">

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<meta name="GENERATOR" content="Microsoft FrontPage 4.0">

<meta name="ProgId" content="FrontPage.Editor.Document">

<title>ASP.NET数据库使用</title>

</head>

<body>

<Form RunAt="Server">

<ASP:DataGrid id="DataGrid1" RunAt="Server" />

</Form>

</body>

</html>

执行以上程序,效果如下:

(程序执行效果)

以上是一个最简单的ASP.NET数据库应用,唯一功能就是列出NorthWind数据库Products表的所有记录。可以和ASP比较一下,发现这个程序是如此的简单。为了更好的了解数据库应用的基本框架,我们来看看这个数据库应用具体是怎样实现的。

页面登录时,调用CreateDataSource和BindGrid函数,CreateDataSource函数连接数据库并且建立DataView,BindGrid函数将数据绑定到DataGrid。有关这两个函数的具体语句,代码中均有说明。

四:基本数据库应用

有了以上模板,ASP.NET数据库应用的基本框架已经有了,现在,我们需要在这个框架上作一些修改,是其更加符合我们的实际使用要求。

(一)界面设置

如果我们呈现给访问者的数据全部使用以上模板的界面,也未尝不可。但是

谁不希望自己的页面美观一点呢?还是以上代码,只是修改DataGrid部分,数据库部分不变。将程序中:

<ASP:DataGrid id="DataGrid1" RunAt="Server" />

修改为:

<ASP:DataGrid id="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>

你将得到以下效果:

(程序执行效果)

在这个界面里面,我们设置了字体,每行背景,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="<< 上一页"

页面效果如下:

(程序执行效果)

这就是一个标准的数据分页,是不是比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采用要求排序;第二局表示点击排序以后的事件;我们来看看这个事件:

Sub Sort_Grid(Sender As Object,E As DataGridSortCommandEventArgs)

SortField=E.SortField

DataGrid1.DataSource=CreateDataSource()

DataGrid1.DataBind()

End Sub

点击排序以后,首先,设置排序字段为点击的字段,如何重新显示数据。效果如下:

(程序执行效果)

如上图,每一个字段名均是一个LinkButton(连接),点击这个字段名,就可以按这个字段排序。需要注意的是,排序不是对当前页排序,而是对整个DataGrid排序。

(四) 数据编辑

数据库操作出了数据浏览,最大部分其实就是对数据的处理(增加,修改,删除)。数据处理,ASP.NET和ASP没有太多的区别,我们看一个增加数据的例子就可以了解ASP.NET的数据编辑的实现了。

Sub InsertRec()

Dim conn AS SQLConnection

Dim connstr As String

Dim sqlinsertcmd AS SQLCommand

Dim sqlinsert&

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有