把一个数组增加到数据库中什么方法最快

zyq654321 2001-06-25 06:35:45
type a(50000)
...
...
...
end type

for i =1 to 50000
rec.addnew
rec("")=a(i).**
rec("")=a(i).**
rec.update
next
但这样太慢了,有快一点的方法吗
...全文
244 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyq654321 2001-07-11
  • 打赏
  • 举报
回复
谁有好办法?
zyq654321 2001-07-04
  • 打赏
  • 举报
回复
谁有好办法?
wzxypq 2001-07-03
  • 打赏
  • 举报
回复
把数组写到文本文件中不是正规的解决方案吧
cqq_chen 2001-07-03
  • 打赏
  • 举报
回复
把数组写到文本文件中试试。如果写入文本的速度还好,你再和我联系,因为从文本到数据库可以很快的。CQQ-CHENG@263.NET
zyq654321 2001-07-03
  • 打赏
  • 举报
回复
没人知道????
zyq654321 2001-07-03
  • 打赏
  • 举报
回复
谁有好办法?
wzxypq 2001-07-01
  • 打赏
  • 举报
回复
huanggx(大侠) 方法我试得与update一样慢
zyq654321 2001-07-01
  • 打赏
  • 举报
回复
没人知道????
zyq654321 2001-07-01
  • 打赏
  • 举报
回复
???????
zyq654321 2001-07-01
  • 打赏
  • 举报
回复
这应是个常见的问题
wzxypq 2001-07-01
  • 打赏
  • 举报
回复
这应是个常见的问题
zyq654321 2001-07-01
  • 打赏
  • 举报
回复
没人知道????
zyq654321 2001-07-01
  • 打赏
  • 举报
回复
huanggx(大侠)的updatebatch方法我试得与update一样慢
zyq654321 2001-06-30
  • 打赏
  • 举报
回复
???????????????????????????????????????????????
zyq654321 2001-06-30
  • 打赏
  • 举报
回复
楼上的只能用于更改,不能用才增加
huanggx 2001-06-30
  • 打赏
  • 举报
回复
该范例连同 CancelBatch 方法说明 UpdateBatch 方法。

Public Sub UpdateBatchX()

Dim rstTitles As ADODB.Recordset
Dim strCnn As String
Dim strTitle As String
Dim strMessage As String

' 将连接字符串赋值给变量。
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "

Set rstTitles = New ADODB.Recordset
rstTitles.CursorType = adOpenKeyset
rstTitles.LockType = adLockBatchOptimistic
rstTitles.Open "titles", strCnn, , , adCmdTable

rstTitles.MoveFirst

' 对记录集执行循环并询问用户是否要更改指定标题的类型。
Do Until rstTitles.EOF
If Trim(rstTitles!Type) = "psychology" Then
strTitle = rstTitles!Title
strMessage = "Title: " & strTitle & vbCr & _
"Change type to self help?"

If MsgBox(strMessage, vbYesNo) = vbYes Then
rstTitles!Type = "self_help"
End If
End If

rstTitles.MoveNext
Loop

' 询问用户是否要提交以上所作的全部更改。
If MsgBox("Save all changes?", vbYesNo) = vbYes Then
rstTitles.UpdateBatch
Else
rstTitles.CancelBatch
End If

' 打印记录集中的当前数据。
rstTitles.Requery
rstTitles.MoveFirst
Do While Not rstTitles.EOF
Debug.Print rstTitles!Title & " - " & rstTitles!Type
rstTitles.MoveNext
Loop

' 恢复原始值,因为这只是演示。
rstTitles.MoveFirst
Do Until rstTitles.EOF
If Trim(rstTitles!Type) = "self_help" Then
rstTitles!Type = "psychology"
End If
rstTitles.MoveNext
Loop
rstTitles.UpdateBatch

rstTitles.Close

End Sub

wzxypq 2001-06-30
  • 打赏
  • 举报
回复
如何建立一个内存表?,有谁能举个用updatebatch的例子么
bucher 2001-06-27
  • 打赏
  • 举报
回复
如果是SQLServer,可以把数据存为文本文件。然后用DTS(组件)或者BCP(块复制程序)。由于绕开了SQL语句使用了SQLServer的内置数据导入功能,快多了。
chn 2001-06-27
  • 打赏
  • 举报
回复
关注
zyq654321 2001-06-27
  • 打赏
  • 举报
回复
记录在数组中,数据是电脑自动生成的不会出错
加载更多回复(11)

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧