【总结】《机房收费系统》——信息不能输入数据库

本文介绍了一种常见的情况,即在注册信息时能够成功添加数据,但在数据库中却查询不到这些信息的问题及其解决方案。文章详细分析了查询语句不合理、属性设置错误等问题,并给出了具体的修正步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、问题描述:

①  注册信息时,将信息添加完整后,显示添加成功,而且不报错;

②  用断点调试时,显示“查询到-1条记录”,显示能向数据库中添加信息,但是在数据库表中查询不到自己添加的信息;

③自己直接向数据库表中添加信息后,查询时可以查到;

2、问题解决:

①判断查询语句是否合理。添加信息时,根据什么查找的数据库的内容。

 错误:原句:txtSQL = "select * from Student_info"

       我:txtSQL = "select * from Student_info where Cardnumber=’”& txtUsercard & ”’"

      在向数据库中添加信息时是添加的以前没有的信息,所以在添加时根据卡号根本就查找不到信息。(纯属复制粘贴时没有思考)

    纠正后无果

②赋值语句没有错误,问题在模块里。

    分块对模块内容进行检查,通过断点调试判断问题出在哪个大块,将大块分成几部分。因为我的模块里面的内容是照着《学生信息管理系统》敲的,所以现将学生的模块分部分替代原来的内容,被替代的内容先被注释。

    这样一部分,一部分的去试,最后能够在数据库中找到我通过代码添加的内容了。即错误就在那一部分,进行对照,最后发现是两个属性设置错误。

③错误:rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic  被我设置成:   

               rst.Open Trim$(SQL), cnn, adOpenDynamic, adLockBatchOptimistic 

3、相关查询 

Open 方法 (ADO Recordset)

adOpenKeyset:键集游标。尽管从记录集不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,键集游标与动态游标相似,仍然可以看见其他用户更改的数据。

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

adOpenDynamic打开动态类型游标

adLockBatchOptimistic常数值为4 :当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、 删、改的操作。(问题所在)

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小王师傅66

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值