
对于一个熟练的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>
你将得到以下效果: 