日期:2011-02-08  浏览次数:20937 次

对于一个熟练的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比较一下,发现这个程序是如此的简