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

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才能对数据进行增、 删、改的操作。(问题所在)

你可能感兴趣的:(数据库,总结)