转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
讲一讲ASP处理数据用的组件ADO (ActiveX Data Object)         ★★★★

讲一讲ASP处理数据用的组件ADO (ActiveX Data Object)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1001 更新时间:2009/4/23 10:43:46

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

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用来判断数据指针是否在记录集的开始或者末尾,bof

和eof显而易见b代表begin,e代表end 也是头根尾的意思,他们两个都会返回一个

布尔值。再来看看rs.movenext 他跟前两者就大不相同了,他是用来控制数据指针

的,让指针移动到下一位,我们能把一个表的多个行显示出来也就是靠他。至此你

已经把一个表的数据显示到asp网页上了。


二、 添加数据

<%

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,2  ’

这里我们要添加数据所以把参数改成了1,2

rs.addnew   ’告诉rs 我们要添加一行

rs(“字段1名”)=值1   ’给要添加的行的一个字段赋值

rs(“字段2名”)=值2   ’同上

rs(“字段3名”)=值3   ’同上

rs.update   ’通知rs我们要把这个行写入数据库

%>

这段代码便可以把一个新的行写入数据库了,不论Access的库还是Sql Server的库

都是这样的。这里我们有两个以前没见过的方法rs.addnew  rs.update  其中

rs.addnew专门是添加一个行时必要的而rs.update则是写入,修改数据库时都需要

用的。现在你已经成功地通过asp网页向数据库添加一条记录了。


三、 修改数据

修改数据根添加数据差不多只是在T-sql语句里你必须只选取一个行。

<%

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,2,3  ’

这里我们要修改数据所以把参数改成了2,3

rs(“字段1名”)=值1   ’给要修改的行的一个字段赋一个新值

rs(“字段2名”)=值2   ’同上

rs(“字段3名”)=值3   ’同上

rs.update   ’通知rs我们要把修改好的这个行写入数据库

%>

拿这段代码根添加数据的代码比较,你会发现只有两个不同点,就是conn后边的参

数,以及没有了addnew,对的 :) 修改根添加的区别仅在于此。呵呵 很轻松的利

用ado修改数据的技巧你也学会了。下边是删除数据了,删除数据更简单了 J


四、 删除数据

<%

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”,conn,2,3 

rs.delete  ’通知rs我们要删除当前记录

%>

这里我们新接触到的方法就是rs.delete了,顾名思义,就是删除当前记录嘛!没

什么好讲的了 J不过值得一提的是如果我们想要批量删除数据,比如清除所有数量

=0的货物记录为了方便不至于一个一个去删除我们还可以用一下这个方法。

<%

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”,conn,2,3 

rs.filter=”数量=0”    ’在这里我们指定了一个条件

rs.delete  ’通知rs我们要删除当前记录

%>

让我们来看一下rs.filter=”数量=0” 其实他就是sql 语句的一部分 其中数量 

就是字段名称而0就是要求的值。这样,我们便把数据库里面说有数量=0的行删除

了。 讲到这里ado的常用功能也就全部讲完,此文仅希望开拓大家的思路,助喜欢

asp的朋友们跨过ado这个门槛。


[办公软件]GETPIVOTDATA函数语法介绍  [常用软件]桌面搜索新利器 “88Data”
[VB.NET程序]VB.NET Data Types  [Delphi程序]Delphi深度探索-数据库明了的ActiveX控件
[Delphi程序]DELPHI实现activex控件的限制  [Delphi程序]Delphi使用VB编写的ActiveX控件全攻略
[Delphi程序]Delphi使用VB6编写的ActiveX控件???  [Delphi程序]MediaPlayer9 ActiveX 攻略(原创)
[Delphi程序]Building ActiveX Controls with Delphi 3  [VB.NET程序]VB连接数据库时出现“ActiveX部件不能创建对象”
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台