do while not rseof and not rsbof
这句话一看就错了,肯定是死循环
do while not rseof就可以了
当然可以了,这样做可以各个页面之间共享这个变量
这个应该是程序的问题,原因是页面没有刷新造成。即页面上面显示有这一条数据,但是数据库里面根本就没有,导致你点删除的时候,后台没有找到这个要删除的数据。提示BOF或者EOF为真,
BOF的意思是,已经顶层,EOF表示到了最底层,意思都是没有数据的意思。
本人搞过软件开发,不太清楚这里你说的ado接口异常是指那种情况。给出代码表你可参考。
编号 说明
adErrInvalidArgument 3001
0x800A0BB9
应用程序使用的参数其类型错误、超出可接受的范围或者与其他参数冲突。
adErrNoCurrentRecord 3021
0x800A0BCD
BOF 或 EOF 为 True,或者当前记录已经删除。应用程序请求的 *** 作需要当前记录。
adErrIllegalOperation 3219
0x800A0C93
应用程序请求的 *** 作不允许出现在该上下文中
adErrInTransaction 3246
0x800A0CAE
在事务中应用程序无法显式关闭 Connection 对象。
adErrFeatureNotAvailable 3251
0x800A0CB3
提供者不支持应用程序请求的 *** 作。
adErrItemNotFound 3265
0x800A0CC1
ADO 无法在对应于应用程序请求的名称或顺序引用的集合中找到对象。
adErrObjectInCollection 3367
0x800A0D27
无法追加,对象已经在集合中。
adErrObjectNotSet 3420 0x800A0D5C 应用程序引用的对象不再指向有效的对象。
adErrDataConversion 3421
0x800A0D5D
应用程序使用了不符合对当前 *** 作的值类型。
adErrObjectClosed 3704
0x800A0E78
如果对象关闭,则不允许应用程序请求的 *** 作。
adErrObjectOpen 3705
0x800A0E79
如果对象打开,则不允许应用程序请求的 *** 作。
adErrProviderNotFound 3706
0x800A0E7A
ADO 找不到指定的提供者。
adErrBoundToCommand 3707
0x800A0E7B
应用程序无法用 Command 对象将 Recordset 对象的 ActiveConnection 属性更改为它的来源数据。
adErrInvalidParamInfo 3708
0x800A0E7C
应用程序错误地定义了 Parameter 对象。
adErrInvalidConnection 3709
0x800A0E7D
应用程序通过引用关闭或无效的 Connection 对象来请求对对象的 *** 作。
错误代码及说明
3707 应用程序不能改变Recordset对象的ActiveComnection属性,以Command对象作为它的源
3732 不能完成动作
3748 不能改变连接
3220 不能改变提供者
3724 不能转换值不能创建资源
3747 类别没有设置所以动作不能执行
3726 这一行中不存在指定的列
3421 对于当前的应用程序,应用程序使用了错误类型的值
3721 数据超出给定的数据类型的范围
3738 不能删除资源,这超出了允许范围
3750 不能设置Deny权限,因为提供者不支持
3751 提供者不支持请求的Deny类型
3251 提供者不支持该应用程序请求的 *** 作
3749 Fields集合的Dpdate方法失败
3219 在此环境中不允许应用程序请求的 *** 作
3719 因为违背数据的完整性, *** 作失败
3246 在事务中,应用程序不能显式地关闭Connection对象
3001 应用程序使用的参数类型错误,可能超出范围或与其他类型冲突
3709 应用程序请求对一个对象的 *** 作时使用了一个引用,而该引用指向了一个关闭的或无效的Connection对象
3708 应用程序不适当地定义了一个Parameter对象
3714 事务无效
3729 提供的URL无效
3265 ADO在集合中没发现对象
3021 BOF和EOF中一个为True,或者当前记录已被删,而应用程序的请求 *** 作需要当前记录
3715 *** 作不在执行过程中
3710 *** 作不能重新执行
3704 如果对象已关闭,不允许应用程序请求的 *** 作
3367 对象已在集合中,不能追加
3420 由应用程序引用的对象不再指向有效的对象
3705 如果对象已打开,不允许应用程序请求的 *** 作
3002 当打开请求的文件时,发生错误
3712 *** 作被取消
3734 因为服务器得不到足够的空间完成 *** 作, *** 作失败
3720 因为用户没有足够的权限完成 *** 作, *** 作失败
3742 设置这个属性造成和其他属性冲突
3739 对于选择的列,这个属性无效
3740 给属性提供了一个无效的选择
3741 给属性提供了一个无效的值
3743 不是所有的属性都能被设置
3744 属性没有被设置
3745 属性不能被设置
3746 属性不被支持
3000 提供者执行请求的动作失败
3706 ADO不能找到指定的提供者
3003 读指定的文件时出错
3731 资源已经存在
3730 资源被锁定
3735 资源超出范围
3722 动作违背了模式
3723 表达式包含不匹配的符号
3713 *** 作仍然在连接中
3711 *** 作仍然在执行
3728 没有查看目录树的权限
3736 命令不可用
3716 在这种情况下运行不安全
3727 URL不存在
3737 在命名的行中的URL不存在
3733 文件版本信息没找到
3004 写文件时有错误
3717 *** 作引出一个安全对话
3718 *** 作引出一个安全对话头
扩展的ADO错误及其说明
-2147483647 未实现
-2147483646 内存不足
-2147483645 一个或多个参数无效
-2147483644 不支持这样的接口
-2147483643 无效指针
-2147483642 无效句柄
-2147483641 *** 作终止
-2147483640 不确定的错误
-2147483639 一般访问拒绝错误
-2147483638 完成 *** 作所必需的数据不再可用
-2147467263 未实现
-2147467262 不支持这样的接口
-2147467261 无效指针
-2147467260 *** 作终止
-2147467259 不确定的错误
-2147467258 线程本地存储失败
-2147467257 获取共享的内存分配程序失败
-2147467256 获取内存分配程序失败
-2147467255 不能初始化类的高速缓存
-2147467254 不能初始化RPC服务
-2147467253 不能设置线程本地存储通道控制
-2147467252 不能分配线程本地存储通道控制
-2147467251 用户提供的内存分配程序不可接受
-2147467250 OLE服务互斥量已存在
-2147467249 OLE服务文件映射已存在
-2149467248 不能映射OLE服务的文件视图
-2147467247 试图启动OLE服务失败
-2147467246 在单线程模型中试图再一次调用CoInitialize
-2147467245 需要一个远程激活,但是不允许
-2147467244 需要一个远程激活,但是提供的服务器名称无效
-2147467243 类运行配置的安全id与调用者不同
-2147467242 使用OLE1服务所需的DDE窗口被禁止
-2147467241 RunAs指定的必须是域名\用户名或只是用户名
-2147467240 服务进程不能启动,可能路径名不正确
-2147467239 当配置标识时服务进程不能启动,路径名可能不正确或无效
-2147467238 由于配置标识不正确,服务进程不能启动。检查用户名和口令
-2147467237 不允许客户启动这个服务器
-2147467236 提供这个服务的服务器不能启动
-2147467235 本计算机不能和服务器提供的其他计算机通信
-2147467234 服务器启动后不响应
-2147467233 服务器的注册信息不一致或不完整
-2147467232 这个接口的注册信息不一致或不完整
-2147467231 不支持试图执行的 *** 作
-2147418113 灾难性失败
-2147024891 一般访问拒绝错误
-2147024890 无效句柄
-2147024882 内存不足
-2147024809 一个或多个参数无效
看样子你用的这个证券软件的版本可能有些问题,你可以从新到他的官方网站下载一个,另外注意安装之前一定先用windows优化大师清理系统临时文件夹和注册表。
1、Rseof or Rsbof
当数据集指针处於开始处或处於末端则此表达式为真。此时如果用rsmovelast或rsmovenext的时候就会报错了,其它的如上面的朋友所讲。
2、rsbof and rseof
当记录集为空的时候返回真,也就是说当此为真的时候没有记录返回。一般用来判断记录集是否为空,如果用rsrecordcount来判断的话,这个时候会由于rs没有记录集而报错。
<%
function ta(row)
set rs=servercreateobject("adodbrecordset")
Sql = "Select unid,username from article_User order by Unid desc"
rsopen sql,conn,1,1
if rseof and rsbof then
ResponseWrite "还没有会员信息。"
else
do while not rseof
username=rs("username")
if (row mod 2)=0 then
row=row+1
end if
for i= 1 to row
for m = 1 to ((row2-1)-((i2)-1))/2
ResponseWrite(" ")
next
for n = 1 to (i2)-1
responsewrite ""&username&""
ResponseWrite(" ")
next
for x = 1 to ((row2-1)-((i2)-1))/2
ResponseWrite(" ")
next
ResponseWrite("<br>")
ResponseWrite("<br>")
next
rsmovenext
loop
end if
rsclose
set rs=nothing
end function
call ta(7)
%>
你的错误出现在115行,而115行的位置是:
rsupdate
对吧?
但是你没有把你的错误贴出来,就是你补充的那段上面可能你使用了这样的语句:
rsopen sql,conn,1,1
或者使用了set rs = connexecute (sql)语句。所以出现了更新失败的语句。或者你只是定义了rs,而没有对数据库进行结果集的搜索。也就是说连这两句都没有。说一下语句说可能就明白了!
rsopen sql,conn,1,1
这个语句的意义是在conn连接上打开sql句,将结果集交给rs,但是只能顺序读(第三个参数是1),且不能修改(第4个参数是只读)。
你可能对顺序读什么的没有兴趣,但对于第四个参数是1时表示是只读的,所以将第四个参数修改为3(可读可写)就可以实现记录的更新或是添加了。而execute只是一个执行动作。对数据是不能进行读 *** 作的!它仅仅表示向conn下了一个SQL的命令而已。
OLEDB驱动0800405错误同时提示着更新权限的问题,也就是说如果你的mdb是只读的,或是在NTFS格式盘下面没有将其要限交出,也会出现这样的问题,但如果是FAT32,由于本身不含加密特性,所以只要不是只读的就可以了。如果NTFS,可以设置其EVERYONE以完全控制权限就可以了!
但如果是文件权限问题的话,读也是不能读出来的。更不要说写了!所以只考虑第一种情况。
以上就是关于看看这段程序哪里出错了 好像是死循环全部的内容,包括:看看这段程序哪里出错了 好像是死循环、固定资产变动单删除不了。提示BOF或EOF有一个是真,如何解决、广发证券交易时ADO接口异常等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)