设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[ADO/DAO] ADO的Recordset对象和Command对象

[复制链接]
跳转到指定楼层
1#
发表于 2012-12-8 20:53:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这几天在看ADO,发现ADO还有个Command对象,貌似没用过,所以狠狠的试了一下,
结果。。。。。。。。让我问个比较白痴的问题:
用ADO新增记录,按理说,如果Command对象不需要建立记录集,应该不比较不占内存,操作速度比较快才对。
可是我试一下,用Recordset的Addnew方法结果比较前者快2倍。
内存使用情况就不知道了,这样看,还是Recordset对象的Addnew方法好?
搞不清楚,为什么?也许我就是瞎折腾。
如下两段代码。
Private Sub Command4_Click()
  Dim rs As ADODB.Recordset
  Dim sqlstr As String
  Dim i As Integer
  Dim t As Double
  sqlstr = "select * from 订单"
  Set rs = New ADODB.Recordset
  rs.Open sqlstr, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  t = Timer
  With rs
    For i = 1 To 10000
      .AddNew
      .Fields("订单号") = Me.订单号
      .Fields("客户名称") = Me.客户名称
      .Update
    Next i
  End With
  t = Timer - t
  MsgBox t
  rs.Close
  Set rs = Nothing
End Sub


第二段
Private Sub Command5_Click()
  Dim rsm As New ADODB.Command
  Dim sqlstr As String
  Dim i As Integer
  Dim t As Double
  
  sqlstr = "insert into 订单 values(" & Me.订单号 & "," & Me.客户名称 & ")"
  t = Timer
  rsm.ActiveConnection = CurrentProject.Connection
  rsm.CommandText = sqlstr
  rsm.CommandType = adCmdText
  For i = 1 To 10000
      rsm.Execute , , adExecuteNoRecords
  Next i
  
  t = Timer - t
  MsgBox t
End Sub

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2012-12-8 20:56:31 | 只看该作者
上例子,文本框输入要数字,否则类型不符。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2012-12-9 11:49:33 | 只看该作者
谢谢分享,坐个沙发

点击这里给我发消息

4#
发表于 2012-12-9 15:08:51 | 只看该作者
实践是检验真理的唯一标准
5#
发表于 2014-11-18 18:18:08 来自手机 | 只看该作者
我来学习一下。谢谢楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 10:13 , Processed in 0.103888 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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