微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题ADO使用的简单介绍
栏目网络与通信
作者飞鸟
发布2001年41期
  ADO即ActiveX Data Objects,是微软提供的使ASP具有访问数据库的组件。熟悉VB数据库编程的朋友会发现ADO与RDO(Remote Data Objects)有某种类似的地方。但据说ADO的访问速度更快,内存需要更小。
  ADO中主要有如下几种对象Connection、Command、Recordset、Error、Parameter、Property、Field。而Recordset对象是ADO访问数据的主要界面。
  Recordset常通过如下的方式访问数据。
  1.通过Execute方法
  On a Command object
  Set recordset = command.Execute _
  (RecordsAffected,Parameters,Options)
  command.Execute RecordsAffected,_
  Parameters,Options
  On a Connection object:
  Set recordset = connection.Execute _
  (CommandText,RecordsAffected,Options)
  这种方式下,做一个查询,是十分简单有效的(尤其是用connection)。曾对Access写过这样的程序:
  set rs=conn.execute("select*from employee")
  结果发现rs.recordcount等于-1,也就是在这种方式下无法知道记录总数。
  这种方式一个强大的功能就是可以知道操作影响的记录数。
  例如:
  dim recordsAffected
  set rs=conn.execute( _
  "delete * from employee where sales<100",_
  recordsAffected)
  response.write cstr (recordsAffected)& _
  " record(s)deleted"
  2.通过Open方法
  recordset.Open Source,ActiveConnection,_
  CursorType,LockType
  这种方法下,你必须先调用Server.Createobjectm()产生一个Recordset实例:
  dim rs
  rs=server.createobject("adodb.recordset")
  调用open方法的时候跟前面一样,也可使用Command或不用。
  先来说说不用Command对象的情况,下面是做查询记录的例子:
  dim sql
  dim rs
  dim conn
  on error resume next
  set conn=server.createobject("adodb.connection")
  conn.open "employee","sa",""
  sql="select * from employee where sales>="& _)
  cstr(minSales)
  set rs=server.createobject("adodb.recordset")
  rs.open sql,conn,1,1
  '11分别是 CursorType和 LockType
  '请参考 ADO的说明书
  '如果以这种方式打开Recordset,
  ' recordcount就不会是-1了
  do while not rs.eof
  ' here is some operate
  rs.movenext
  loop
  rs.close
  conn.close
  下面是删除记录的例子:
  dim sql
  dim rs
  dim conn
  on error resume next
  set conn=server.createobject("adodb.connection")
  conn.open "employee","sa",""
  sql="delete from employee where sales<=100"
  set rs=server.createobject"adodb.recordset"
  rs.open sql,conn,3,3
  response.write "record(s,deleted")
  conn.close
  注意此时由于rs并不返回记录集。所以结束时不必关闭rs。这样的用法同时适用于SQL的update、insert into语句。
  再来讨论使用Command对象的open方式。
  使用之前先要建立Command对象的实例
  dim cmdTemp
  dim dataconn
  Set DataConn = Server.CreateObject _
  ("ADODB.Connection")
  dataconn.open "employee","sa",""
  Set cmdTemp = Server.CreateObject _
  ("ADODB.Command")
  cmdTemp.CommandText = _
  "SELECT (FROM employee WHERE employeeID=" & _
  cstr(paraID)
  cmdTemp.CommandType = 1
  Set cmdTemp.ActiveConnection = dataConn
  dim rs
  set rs=server.createobject("adodb.recordset")
  rs.Open cmdTemp(1,3)
  rs("salary")= rs("salary")+ 200
  rs("...")=....
  ......
  rs.Update
  rs.close
  dataconn.close
  这种介绍只是让大家简单了解ADO,权作抛砖引玉吧。