讲一讲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"