文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页网页设计ASP实例 → ASP.NET数据库应用指南

ASP.NET数据库应用指南

时间:2004/11/7 2:56:00来源:本站整理作者:蓝点我要评论(0)

对于一个熟练的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"%> 

 

 

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 

 

 

 

 

 

 

 

 

 

ASP.NET<a href="http://www.baidu.com/baidu?tn=sayyes&word=数据库" target="_blank" rel="nofollow"><span class="unnamed8"><font color="#0000FF">数据库</font></span></a>使用 

 

 

 

 

 

 

 

 

 

 

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







(程序执行效果)

 

 

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

 

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

 

四:基本数据库应用 

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

 

一)界面设置 

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

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

 

修改为: 


BorderColor="black" 

BorderWidth="1" 

CellPadding="3" 

 

BackImageUrl="" 

BackColor="#FFCCCC" 

ForeColor="Black" 

 

HeaderStyle-BackColor="#CCCCFF" 

HeaderStyle-ForeColor="Blue" 

 

AlternatingItemStyle-BackColor="#F3f3f3" 



 

你将得到以下效果: 







(程序执行效果)

 

在这个界面里面,我们设置了字体,每行背景,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 AS String 

 

connstr="Server=NHGA-D36KQ26TWB;DataBase=MyBase;Pwd=;Uid=sa" 

conn= New SQLConnection(connstr) 

 

sqlinsert="Insert Into MyTable(title,name,content) Values(@title,@name,@content)" 

sqlinsertcmd=New SQLCommand(sqlinsert,conn) 

 

sqlinsertcmd.parameters.Add(New SQLParameter("@title",SQLDataType.varchar,20)) 

sqlinsertcmd.parameters.Add(New SQLParameter("@name",SQLDataType.varchar,20)) 

sqlinsertcmd.parameters.Add(New SQLParameter("@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() 

 

End Sub 

 

以上代码中,首先创建一个数据库连接,然后建立了一个插入语句,此插入语句使用了以@开头的参数,这一点可能与ASP稍有差别。使用参数之前,必须先创建参数,并要说明参数的数据类型。如何打开连接,执行插入语句就可以了。 

 

五:总结 

以上我们设计到了ASP.NET数据库操作中常用的部分,基本可以实现我们一般编程要求。但是,如果要全面了解ASP.NET的数据库功能,以上显然是不够的,这需要我们更加不断地学习其他ASP.NET的知识,融会贯通。 


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 迅雷新手完全入门手册 asp下面javascript上传图片限制格式大小方法告诉大家网页弹出窗口应用总结ASP常见错误类型大全asp常见错误分析和解决办法

人气排行 总是弹出visual studio 实时调试器 三种解决SQLSERVER存储过程及调用详解Asp获取真实IP地址ASP中连接Mssql的几种方法一个简单好用的UBB编辑器(含代码)如何用Split将字符串转换为数组并获取数组下ASP防止表单重复提交的办法告诉你免费的简单聊天室源代码