微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

学生信息管理系统—优化错误篇

【前言】

在我们敲学生信息管理系统的时候,难免会碰到错误。但是只要我们不犯低级错误,理清各个窗体的逻辑或运行过程,其实错误还不是很多。因为毕竟学生信息管理系统我们还可以参考给的那本pdf书,这本书中的错误确实不少,但是窗体的运行逻辑大体还是对的,不过整个系统的逻辑有些地方确实也不太好。

【正文】

下面让我记录一下我还记得的错误,以及一些优化需要注意的问题和对这个系统的一些理解。

错误一:查询窗体中,点击查询报错。

验项目的时候,在成绩查询窗体出现了错误。我的问题是选择一个进行查询就没有错误,可是每当组合查询的时候,就会报经典的“91错误


我通过调试发现mrc记录集对象没有值,并且我发现本地窗口中提示sql语句有错误,我习惯调试的时候用本地窗口。提示中说where附近有语法错误,经过我检查发现我多敲了一个where,在sql语句中一个where就够了,除非在嵌套语句中才能出现第二个where


当然我们也可以不用本地窗口,可以将有问题的语句复制到sqlserver中,自然就会告诉我们哪有问题,不过这样太麻烦了。

还有一个需要注意的地方(如下图),就是wherewhere后面的字符要用空格分开,否则就会出错。我们可以在where后面加一个空格,也可以在与where连接的下一条语句前面加一个空格。

错误二:优化修改窗体时,想让所有的下拉列表框只能下拉选择,可是如果把下拉列表框的style设置成2,就会报下面这个错误

因为text是只读属性,所以无法显示数据库中的数据。那么想让它不能输入,只好用keypress事件了。

这是我验项目时发生的错误,下面让我说一下站在用户角度,优化时需要注意的问题,当然首先程序要没有bug,可以流畅地运行。

1.一些输入框要限制输入字符的长度,并且要限制一些特殊字符等,包括用户名、密码、学号、电话、日期等。

2.对于一些下拉框,要限制它只能下拉,如果不行,要限制不能输入任何字符。

3.修改密码,可以显示当前用户

4.查询数据时,用到了msflexgrid控件,但是有时数据并不能显示完全,我们要让数据完全显示出来,方便用户查看。

5.设置课程窗体中,我们只能一条一条的添加课程,我们可以改为复选框模式,带用户选好课程后可以一次性添加到右边的列表框中,方便用户

6.每当我们添加完一条数据时,各输入框要清空并获得焦点。

7.每个窗体加载出来的时候要出现在屏幕中央。当然这个问题,我觉得如果屏幕较大,比如电脑、投影仪等,还是放在中间好,因为当屏幕过大,人们并不能一眼收入眼底的时候,还是先注意到屏幕中间的。至于一些小的屏幕,我觉得还是方便用户操作比较好,比如手机。比如当我们要删除图片时,肯定会有提示框问你要不要删除,而这个提示框的位置就很重要了,提示框要在屏幕的下方,方便用户用一只手操作,这是如果还放到屏幕中央就不太好了,以上只是我的个人见解。

总之,优化时我们要尽可能站在用户的角度思考问题,尽可能方便用户的操作。

最后,我想说一下整个系统的逻辑,我觉得这个系统有点儿问题。

比如,书上让我们先敲的是添加学籍信息窗体,可是我觉得应该先敲班级信息,其次是课程、学籍,最后再敲成绩窗体,这样按顺序来不会乱。还有比如说添加学籍信息窗体和添加成绩信息窗体中,都没有选择班级这一项,这样的话选择的班号就不知道是哪个年级的,因为在不同年级中可以有相同的班号。

【总结】

以上就是我在敲学生信息管理系统中的一些心得体会,通过这个项目,我们的代码理解能力,调错能力,逻辑思维能力都有了一定的提升。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 -------------------------------- 数字类型的格式化 --------------------------------     固定格式参数:     General Number 普通数字,如可以用来去掉千位分隔号     format$("100,1
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和系统设置的区域语言的日期和时间格式相关。意思是尽管你用诸如 Format(Now, "MM/dd/yyyy"),如果系统的设置格式区域语言的日期和时间格式分隔符是"-",那他还会显示为 MM-dd-yyyy     只有拼凑: <%response.write
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接添加本ApplicationEvents.vb 到工程即可 ‘添加后还需要一个From用来显示错误。如果到这步还不会则需要先打好基础啦 ‘======================================================== ‘以下事件
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没有认真去找这个方法呀。 https://blog.csdn.net/chzjxgd/article/details/6176325 金蝶K3 BOS的插件官方是用VB6编写的,如果  能用.Net下的语言工具开发BOS插件是一件很愉快的事情,其中缘由不言而喻,而本文则是个人首创,实现在了用V
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, tmpStr As String, s As String Dim x As Integer, y As Integer, subStr As String If MsgBox("确定要分列处理吗?请确定分列的数据会覆盖它后面的单元格!", _
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single) 2 Dim path As String, hash As String 3 For Each fil
  Imports MySql.Data.MySqlClient Public Class Form1 ‘ GLOBAL DECLARATIONS Dim conString As String = "Server=localhost;Database=net2;Uid=root;Pwd=123456;" Dim con As New MySqlConnection
‘導入命名空間 Imports ADODB Imports Microsoft.Office.Interop   Private Sub A1() Dim Sql As String Dim Cnn As New ADODB.Connection Dim Rs As New ADODB.Recordset Dim S As String   S = "Provider=OraOLEDB.Oracl
Imports System.IO Imports System.Threading Imports System.Diagnostics Public Class Form1 Dim A(254) As String    Function ping(ByVal IP As Integer) As String Dim IPAddress As String IPAddress = "10.0.
VB运行EXE程序,并等待其运行结束 参考:https://blog.csdn.net/useway/article/details/5494084 Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Pr