设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1531|回复: 5
打印 上一主题 下一主题

[ADO/DAO] ADO数据访问一点通

[复制链接]
跳转到指定楼层
1#
发表于 2002-10-9 19:54:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


  对于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=usernameWD=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=usernameWD=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这个门槛。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2002-10-10 18:21:00 | 只看该作者
好!
3#
发表于 2002-10-16 01:47:00 | 只看该作者
wtm1老兄,这些都是PCONLINE里的吧。你试过吗,都是没有用的东西。我试过好多遍了。
4#
 楼主| 发表于 2002-10-25 17:16:00 | 只看该作者
这是初级教材!只说基础问题!
对你这户的老神鸟!当然没用!
5#
发表于 2002-10-27 05:54:00 | 只看该作者
呵呵,胡乱贴点东西,糊弄糊弄咱们这班新手的

不过还好,我还有微软的秘籍可以参详参详

6#
发表于 2002-10-27 19:35:00 | 只看该作者
在ACCESS C/S开发中,数据库连接是一个方面,它好像可以从几方面入手,比如ADO,DAO,以前我在这方面一直进展不下去, WTM1发表的文章很有用,它明朗清晰让我们发现假若我们测试不成功,应从哪一面入手,其实用ADO(ActiveX Data Object)的connection属性只不过是一行程序,问题你我、我们一部人用这个属性就是过不了数据库连接,用心学习、测试一定会通过的 Thanks
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 23:18 , Processed in 0.099247 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表