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

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
但这样太慢了,有快一点的方法吗
...全文
218 点赞 收藏 31
写回复
31 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
记录在数组中,数据是电脑自动生成的不会出错
回复
加载更多回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2001-06-25 06:35
社区公告
暂无公告