如题
解决方案 »
- 有关VS对战平台句柄问题
- vb通过校园局域网连接数据库
- 跨进程图形设备问题
- 自定义了一种图像格式,支持图层,要使Explorer支持显示其缩略图,是不是一个复杂的任务啊?
- 谁有关于VB网络编程或者接口编程的电子书啊????
- 请详细说说DataGrid和DBGrid控件有什么区别,在何时何处应该用哪个控件?
- datagrid如何手动添加行?
- 刚刚揭帖,又一个极其简单的问题,解决后马上给分!只是我不会而已!
- 我在2000下做的安装程序,到98下运行出错“Selected collating sequence not supported by the operating system.”,我查了一下,没查出
- 问一个有关byte的操作
- VB6程序,运行变慢,求原因。
- VB6升级到VB.net,求入门书籍
不过ACCESS处理百万条数据的能力值得怀疑~~~~~rs.Open "SELECT * FROMT TABLENAME", cn, adOpenKeyset, adLockBatchOptimistic
rs.AddNew
'插入数据
rs.UpdateBatch '可以插入多条之后一起更新!
Dim strconn As String
Dim conn As adodb.Connection
Dim rssave As adodb.Recordset
Set conn = New adodb.Connection
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\test.mdb;Persist Security Info=False"
conn.Open strconn
Set rssave = New adodb.Recordset
str ="insert into 表1 (一,二,三) values (a,b,c)"
大循环
{
rssave.Open str, conn, adOpenKeyset, adLockBatchOptimistic
rssave.AddNew '<-----此处
}
If MsgBox("保存", vbYesNo) = vbYes Then
rssave.UpdateBatch
End If
Dim conn As adodb.Connection
Dim rssave As adodb.Recordset
Set conn = New adodb.Connection
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\test.mdb;Persist Security Info=False"
conn.Open strconn
Set rssave = New adodb.Recordset
str ="insert into 表1 (一,二,三) values (a,b,c)"
大循环
{
conn.execute str
}
在循环内执行
str ="insert into 表1 (一,二,三) values (a,b,c)"'这个是在循环内改变的
conn.execute str
楼主为何不用SQL SERVER呢?
大循环
{
rssave.Open str, conn, adOpenKeyset, adLockBatchOptimistic
rssave.AddNew '<-----此处
rssave!a = "一"
rssave!b = "二"
rssave!c = "三"}
If MsgBox("保存", vbYesNo) = vbYes Then
rssave.UpdateBatch
End If
{
插入数据的大循环
}
If MsgBox("保存", vbYesNo) = vbYes Then
cnn.CommitTrans
else
cnn.RollbackTrans
endif
jtkk() 用事务是可以快一些,但还是需要几个小时,这可能是ACCESS本身的限制吧?(<---我乱猜的)。
另外,我在ACCESS的一个表中写入65883条记录,文件大小达到1.99G的时候就报错了,难道ACCESS连10万条记录都不能存》(vb6、win98)
//我已经测试通过了,没有问题啊,你是什么系统,ACCESS版本多少?!
Acess会因为操作变大,删除数据也不会变小。所以必须用其自带 压缩和修复功能就变小很多。
记录集打开参数使用
CursorType adOpenStatic
LockType adLockBatchOptimisticstr ="SELECT * FROM 表1 where 1=2" '不需要修改数据,只需得到空的记录集
rssave.Open str, conn, adOpenStatic, adLockBatchOptimistic
打开记录集后,将ActiveConnection属性设为Nothing,断开与数据库的连接然后循环添加记录
添加完成后rssave.ActiveConnection=strconn'先重新连接数据库
rssave.UpdateBatch'把本地记录集缓存中的数据更新到数据库