日期:2012-08-18  浏览次数:20875 次

讲一讲ASP处理数据用的组件ADO (ActiveX Data Object)
一、 字符串形式连接一个 Access库

<%

set conn=server.createobject("ADODB.CONNECTION")

path=server.MapPath("info.mdb")

conn.open "provider=microsoft.jet.oledb.4.0; data source="&path&""

%>

set conn=server.CreateObject ("adodb.connection") 这是创建一个Connection

属性的对象conn的代码 很简单吧!^_^

path=server.MapPath("info.mdb") 用asp带的server对象的MapPatch方法返回

info.mdb的绝对路径。

conn.open "provider=microsoft.jet.oledb.4.0; data source="&path

用conn.对象的open方法创建一个对Access数据库的连接

provider=microsoft.jet.oledb.4.0 就代表连接的是一个Access连接 而后边的

data source="&path 指定了要连接的数据库的绝对路径。:·)


二、字符串形式连接一个Sql Server库

<%

set conn=server.CreateObject ("adodb.connection")

conn.Open "driver={SQL

Server};server=localhost;UID=username;PWD=password;database=dataname"

%>

看上边这段代码。

set conn=server.CreateObject ("adodb.connection") 上边讲过了 是创建一个

connections的对象:-)

现在我们用这个对象打开一个数据库连接

conn.Open "driver={SQL

Server};server=localhost;UID=username;PWD=password;database=dataname"

conn的open方法是打开一个连接用的 后边根一个字符串 driver={SQL Server}的

意思是连接的是一个sql server的库,server=localhost 中的localhost代表的是

本机的IP 当然 你的数据库服务器IP是多少这里就改成相应的

值;UID=username;PWD=password;这两个是你登陆你的数据库服务器的用户名跟密

码。下边一个database=dataname 就是你要*作的数据库的名字了 :-} 至此 你已

经成功的创建一个SQL Server的连接了。




连接建立了,但是要使用recordset属性的对象做数据处理我们还需要一点知识,

那就是T-SQL语言 我们必须用T-SQL选择一个记录集传送给recordset属性 下边我

给大家讲一条简单的sql语句 方便大家实践中使用。看下边这个例子: Select *

from tablename where uid=’Coolshow’

Select 后边紧跟着一个*,*是通配符 代表选择表中的所有字段 也可以指定一个

或一个以上的字段 比如这样写 Select uid只打开一个uid字段,或者Select

uid,pwd,sex,tel,address同时打开uid,pwd,sex,tel,address五个字段。 后边

from tablename 是打开那个表,这里有几种用法,由于相对复杂一点,而且我们

的重点不是在这里 所以在这里就不多说了,如果有什么疑问大家可以给编辑写信

让他要求我在写一篇关于T-SQL的 :-) 再往后看,where uid=’Coolshow’ 这句

话的意思是选取所有符合 uid字段的值等于字符串Coolshow的记录集,也可以用

and 来连接多个条件,这里也不详细讲述了 :)


好了,两个主流数据库我们都连接上了,T-SQL语言你也能简单的使用了,下边该

讲一下如何利用recordset属性读取数据了。


首先让我们来创建一个recordset属性的对象

set rs=server.CreateObject ("ADODB.Recordset")


很简单的一段代码 利用了asp自带的server对象的CreateObject方法创建了一个

Recordset属性的对象,大家会发现这段代码跟前边创建连接的那个对象的代码差

不多 没错,asp创建对象都是这个样子的 :)现在让我们用Recordset的对象rs来

打开一个记录集。


Rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,1 看看

这句是不是很容易懂 用我们刚刚创建的Recordset属性的对象RS的open方法打开一

个记录集,后边跟了三个参数用逗号分开,第一个参数不用讲了,就是选取数据用

的T-sql语句第二个那:_) 就是我们已经创建好连接的connection属性的对象conn

后边两个参数说法比较多,我在这里简单的给大家讲一下,如果只读取数据 设

置”1,1”就足够了,如果要添加数据,设置”1,2”如果要改写数据最好设置”

2,3”。这两个参数一定要切记不然在将来的编程中会给你带来不少的麻烦,看着

sql语句没错,对象用法也没错,数据库表结构也没错,为什么就oledb错误哪?问

题往往就出在这,检查一下你这两个参数 是够给足了rs对象权限让他做你要他做

的事情。好了,两对象(object)我们都搞完了 ^^ 现在让我们进入处理数据的具

体实践中。


一、 显示数据

别用如饥似渴的眼神看着我,猴急什么~:) 嘿~ 调节一下气氛.下面我写一段代码

你看看能不能读懂,要是读得懂就说明整个ado的使用你已经学会了一半了 :)

<%

set conn=server.CreateObject ("adodb.connection")

conn.Open "driver={SQL

Server};server=localhost;UID=username;PWD=password;database=dataname"

set rs=server.CreateObject ("ADODB.Recordset")

rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,1

%>

好,如果你看懂了,我们就接着来看下一步,ado的数据显示


<%

set conn=server.CreateObject ("adodb.connection")

conn.Open "driver={SQL

Server};server=localhost;UID=username;PWD=password;database=dataname"