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