【机房收费系统】——数据库不响应VB进行增删改的操

       数据库不响应VB进行增删改的操作,上机记录和添加用户的信息添加不Online_Info和User_Info表中去,且不报错!都让我无语了,着急的不行,还没有错误提示!导致都没有办法很好的去测验整个系统功能是否实现!被这个问题困扰近一个月!走走停停,停停走走,整个项目都搁置了!问题出现在模块里!!!想要彻底了解这个问题,必须细看下面的ADO参数介绍


重点来啦!!!!



【一】细看ADO参数 (四种)  


1)adLockReadOnly:

         缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法

2)adLockPrssimistic:

         当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。

3)adLockOptimistic:

        当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。

4)adLockBatchOptimistic:

       当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、删、改的操作

        下面我们来重点讲解一下后两个属性,正是这个羁绊了我一个月的时间!在记录显示都成功赋值给mrc.Fields(i)的情况下数据插入数据库失败,更新记录失败!这个错误属于“打开游标”类的错误


【二】打开游标的语法(以机房收费阐述)

 1)语法:

        recordset.Open Source,ActiveConnection,CoursorType,LockType,Options

 2)机房收费系统:

       Set rst=NewADODB.Recordset

       rst.Open Trim$(SQL),cnn,adOpenKeyset,adLockOptimistic

游标语法涉及到的四个参数介绍

  • Source一般可选,包括变量名、SQL语句、表名、存储过程调用或持久Recordset文件名,而我们的代码Trim$(SQL)就是一个SQL语句。


  • ActivaConnection也可选,包括Connection链接对象变量名,比如说机房中的Cnn,还包括字符串ConnectionString参数。


  • CoursorType可选,确定提供者打开RecourdSet时应该使用游标类型,比如:adOpenKeyset就属于打开键集类型游标,游标类型还包括其他三种:AdOpenForwardOnly(一般默认)打开的仅向前型游标,AdOpenDynamic打开

     动态类游标、AdPenStatic打开静态类游标


  • LockType也是可选的,确定提供者打开 Recordset 时应该使用的锁定类型,如果不进行设置的话,一般默认AdlockReadOnly ,是只读的不能改变数据的,所以一般称为缺省锁定类型;还包括AdlockPessimistic又叫悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录,只要编辑一开始,则立即锁住记录;还有一个与之相对的称为乐观锁定的AdlockOptimistic,用法是直到用Update方法提交更新记录时才锁定记录;还有最后一个批量乐观锁定AdlockBatchOptimistic,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。


  • 对LockType的选择,当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。 对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,数据在这段时间被更新。这减少了资源的使用。


  • 而最后的这个Options,是用户指示提供者如何计算Source参数的,在我们的的系统里没有涉及到,有兴趣的同学可以去了解下。


  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值