asp向access插入大量记录不稳定的问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 06:43:57
'插入数据
sql = "SELECT * FROM Keys"
rs.open sql, conn, 3, 3

i = 0
Do While i < num
response.write "Insert:" & i & "<br>"
rs.addnew
rs("card_str") = ckAry(i, 0)
rs("key_str") = ckAry(i, 1)
rs("price") = price
rs("g_id") = g_id
rs("valid_time") = valid_time
rs("use_flag") = 0
rs("user_id") = -1
rs.update
'调试输出
response.write "插入第:" & i & "条<br>"
i = i + 1
Loop
rs.Close

set rs=Nothing
conn.Close
set conn=Nothing

call on_ok(i & "个记录成功生成!","keys.asp")

插入几条或十几条记录没有问题,最后一个call on_ok能执行到,但数量一多,比如300,以上代码就不能完整执行了,只能查入几条或几十条
设置了IIS的延时
设置了页面的延时
使用了"INSERT INTO ...."来插入
都不见效,SOS!
桌面程序是不可能的,这个应用里不允许有桌面程序
使用1,3也没有作用呢

rs.open sql, conn, 3, 3
换下游标试试 改成rs.open sql, conn, 1, 3

那也可以分步完成啊。

用conn.execute(sql)的方式执行效率是最高的,你按这个试一下。

这位老兄,我记得之前在你已经在另一个程序里发布过同样的问题,
我给你的回答是直接使用SQL的insert into
我不知道你是否已经做了,今天在此再次看到你的帖子,
我想好好地研究一番,我也很想知道,你这只能插入几十条记录我觉得不可思议!!

我特地写了几个版本的程序来专门测试,JavaScript和vbscript最简介的插入操作
最后,我也按照你的写法先把表内的所有数据都读出来,然后插入,最后update会数据库
但我却无法发现问题,本来我想:是否你表内有十多万个记录,读出来再写回去会出错,
最后我直接循环插入10万条记录,然后再次读出再更新回去,都没问题!!!!

我可以很明确地告诉你,不是ACCESS问题,也不是插入程序问题,
问题应该出在你里面有几个二维数组,可能你的二维数组越界问题了,你检查一下你的程序,
数组是否在循环的过程中越界了!!你可以加一个异常抛出信息来检查看看!

或者你可以改成:

rs.addnew

rs("use_flag") = 0
rs("user_id") = -1

rs.update

只插入常数,不插入带有变量和数组的字段,循环插入1000记录看看!!我想是没问题的!
这种排除法应该可以找出到底是哪行 rs("??")= 项出错了!

我的测试程序有三个,供参考:

----------------<_End_>------------------------------------------
<script language="javascript&quo