ADO数据访问一点通

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

广告:d_text   首先让我们看看如何用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数据库的连接
% >

  代码中connopen方法是打开一个连接用的,后边跟一个字符串。driver={SQL Server}的意思是,连接的是一个SQL Server的库,server=localhost中的localhost代表的是本机的IP,你的数据库服务器IP是多少,这里就改成相应的值,UIDPWD这两个是登录数据库服务器的用户名和密码,最后一个选项是你要操作的数据库的名字。

  好了,数据库我们连接上了,下边该讲一下如何读取数据了。

  首先让我们来创建一个recordset属性的对象set rs=server.CreateObject ("ADODB.Recordset"),然后用对象rs来打开一个记录集。
rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,1

  这是用对象rsopen方法打开一个记录集,后边跟了三个参数用逗号分开。第一个参数是选取数据用的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.bofrs.eofrs.movenext这三个方法都是跟数据指针有关的,前两个rs.bofrs.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.addnewrs.update,其中rs.addnew是添加一个行时必要的,rs.update则是写入、修改数据库时都需要用的。

三、修改数据

广告:d_text   修改数据跟添加数据差不多,只是在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这个门槛。