【机房收费系统】——数据库不响应VB进行增删改的操
2016-07-13 19:41
267 查看
数据库不响应VB进行增删改的操作,上机记录和添加用户的信息添加不Online_Info和User_Info表中去,且不报错!都让我无语了,着急的不行,还没有错误提示!导致都没有办法很好的去测验整个系统功能是否实现!被这个问题困扰近一个月!走走停停,停停走走,整个项目都搁置了!问题出现在模块里!!!想要彻底了解这个问题,必须细看下面的ADO参数介绍
重点来啦!!!!
![](http://img.blog.csdn.net/20160723201357829?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
下面我们来重点讲解一下后两个属性,正是这个羁绊了我一个月的时间!在记录显示都成功赋值给mrc.Fields(i)的情况下数据插入数据库失败,更新记录失败!这个错误属于“打开游标”类的错误
recordset.Open Source,ActiveConnection,CoursorType,LockType,Options
2)机房收费系统:
Set rst=NewADODB.Recordset
rst.Open Trim$(SQL),cnn,adOpenKeyset,adLockOptimistic
ActivaConnection也可选,包括Connection链接对象变量名,比如说机房中的Cnn,还包括字符串ConnectionString参数。
CoursorType可选,确定提供者打开RecourdSet时应该使用游标类型,比如:adOpenKeyset就属于打开键集类型游标,游标类型还包括其他三种:AdOpenForwardOnly(一般默认)打开的仅向前型游标,AdOpenDynamic打开
动态类游标、AdPenStatic打开静态类游标
LockType也是可选的,确定提供者打开 Recordset 时应该使用的锁定类型,如果不进行设置的话,一般默认AdlockReadOnly ,是只读的不能改变数据的,所以一般称为缺省锁定类型;还包括AdlockPessimistic又叫悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录,只要编辑一开始,则立即锁住记录;还有一个与之相对的称为乐观锁定的AdlockOptimistic,用法是直到用Update方法提交更新记录时才锁定记录;还有最后一个批量乐观锁定AdlockBatchOptimistic,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。
对LockType的选择,当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。 对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,数据在这段时间被更新。这减少了资源的使用。
而最后的这个Options,是用户指示提供者如何计算Source参数的,在我们的的系统里没有涉及到,有兴趣的同学可以去了解下。
重点来啦!!!!
【一】细看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参数的,在我们的的系统里没有涉及到,有兴趣的同学可以去了解下。
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- VB简单实现防止文件被改写
- 一个简单的asp数据库操作类
- VB获取文件大小的方法
- VB实现的《QQ美女找茬游戏》作弊器实例
- VB实现禁用任务管理器的方法
- CentOS下DB2数据库安装过程详解
- VBS教程:运算符-运算符(+)
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- VB实现的16位和32位md5加密代码分享