日期:2009-10-01  浏览次数:21262 次

对于ADO(ActiveX Data Object),大家已经听得比较多了,但对于ADO的实际应用,可能就没那么清楚了。今天我就来讲一讲ASP处理数据用的组件ADO,看过之后你就知道它原来是那么简单。


首先让我们看看如何用ASP结合connection属性创建一个数据库连接。
字符串形式连接一个SQL Server库
< %
set conn=server.CreateObject ("adodb.connection")
’创建一个Connection属性的对象conn
conn.Open "driver={SQL Server};server=localhost;UID=username;PWD=password;database=dataname"
’用conn.对象的open方法创建一个对SQL Server数据库的连接
% >
代码中conn的open方法是打开一个连接用的,后边跟一个字符串。driver={SQL Server}的意思是,连接的是一个SQL Server的库,server=localhost中的localhost代表的是本机的IP,你的数据库服务器IP是多少,这里就改成相应的值,UID和PWD这两个是登录数据库服务器的用户名和密码,最后一个选项是你要操作的数据库的名字。
好了,数据库我们连接上了,下边该讲一下如何读取数据了。
首先让我们来创建一个recordset属性的对象set rs=server.CreateObject ("ADODB.Recordset"),然后用对象rs来打开一个记录集。
rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,1
这是用对象rs的open方法打开一个记录集,后边跟了三个参数用逗号分开。第一个参数是选取数据用的T-SQL语句。第二个是我们已经创建好连接的connection属性的对象conn。最后边两个参数用法比较多,如果只读取数据,设置“1,1”就足够了,如果要添加数据,设置“1,2”,如果要改写数据最好设置“2,3”,这两个参数一定要切记。好了,现在让我们来对数据做些处理吧。

一、显示数据
< %
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
if rs.eof and rs.bof then ’如果数据指针同时指到记录集的头部和尾部,说明这时候记录集为空
response.write“没有可以显示的数据” ’打印“没有可以显示的数据”
do until rs.EOF ’循环 直到记录集尾部为止
response.write rs(“字段1名”) ’显示一个行的一个字段
response.write rs(“字段2名”) ’同上
response.write rs(“字段3名”) ’同上
response.write “
” ’一个行打印完毕,换行
rs.MoveNext ’将数据指针移到下一个行
loop ’循环结束
% >
rs.bof,rs.eof和rs.movenext这三个方法都是跟数据指针有关的,前两个rs.bof和rs.eof用来判断数据指针是否在记录集的开始或者末尾,它们都会返回一个布尔值。rs.movenext跟前两个就大不相同了,它是用来控制数据指针的,让指针移动到下一位,我们能把一个表的多个行显示出来也就是靠它。

二、添加数据
< %
……’代码与前同,略
rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,2 ’这里我们要添加数据,所以把参数改成了1,2
rs.addnew ’告诉rs, 我们要添加一行
rs(“字段1名”)=值1 ’给要添加的行的一个字段赋值
rs(“字段2名”)=值2 ’同上
rs(“字段3名”)=值3 ’同上
rs.update ’通知rs,我们要把这个行写入数据库
% >
这段代码便可以把一个新的行写入数据库了。这里有我们以前没见过的两个方法rs.addnew和rs.update,其中rs.addnew是添加一个行时必要的,而rs.update则是写入、修改数据库时都需要用的。

三、修改数据
修改数据跟添加数据差不多,只是在T-SQL语句里,你必须只选取一个行。
< %
’……代码与前同,略
rs.open “Select * from tablename where uid=’Coolshow’”,conn,2,3 ’这里我们要修改数据,所以把参数改成了2,3
rs(“字段1名”)=值1 ’给要修改的行的一个字段赋一个新值
rs(“字段2名”)=值2 ’同上
rs(“字段3名”)=值3 ’同上
rs.update ’通知rs,我们要把修改好的这个行写入数据库
% >
拿这段代码跟添加数据的代码比较,你会发现只有两个不同点,就是conn后边的参数变了以及没有了addnew,修改跟添加的区别仅在于此。利用ADO修改数据的技巧你也学会了。下边是删除数据,删除数据就更简单了。

四、删除数据
< %
……’代码与前同,略
rs.open “Select * from tablename”,conn,2,3
rs.delete ’通知rs,我们要删除当前记录
% >
这里我们新接触到的方法就是rs.delete了,顾名思义,就是删除当前记录嘛!讲到这里ADO的常用功能也就全部讲完。谨希望此文能开拓大家的思路,助喜欢ASP的朋友们轻松跨过ADO这个门槛。