不怕有错误,就怕没错误(1)

           做学生信息管理系统进行了2周多的时间,从最开始的拿到学生信息管理系统开始调试到它能够跑起来,到现在的第二次修改发给师父测试,在这个过程中出现了很多问题,很多都是细节上面的问题。

 

           学生信息管理系统一共分五块,分别是"系统","学生管理","班级管理","课程管理","成绩管理"这五个模块,而且这五个例子都用到了数据库的四个经典的操作:增,删,改,查.敲这五个模块的代码没有用多长的时间,但是用了很多时间去调试,经常一个错误就调试很长的时间而且还是不一定能够调试出来.

           一个错误出现一次,没感觉怎么,但是一个错误出现了多次,你就会深深的把它给记住了.来看看我们在敲学生信息管理系统中常出现的错误:

 

          一.英语状态下的“' '”和汉语的“‘’”在程序里面无法区分出来,运行的时候,你的程序是不是经常会报这样一个错误:

而且每次调试的时候,黄色标记都是停留在"if mrc.EOF then " 这句话上面.我刚开始调试学生信息管理系统的时候,一出现这个问题我就头大,因为它每次都是停留在那一句,自己怎么看都是没有问题啊,但是为什么老是报错呢?

 

           在对学生信息管理系统进行敲的时候,每次敲好一个窗体运行起来,把部分都会报"对象变量或with 块变量未设置".在网上查找答案,别人都是把代码贴出去求解的,我这是马上就要用的, 我不可能把我的代码贴出去,然后等着某位高手来给我解答,那我还是得自己慢慢去摸索.我们把鼠标上移,移到 "set mrc=executeSQL(txtSQL,MsgText这里,把鼠标放在"MsgText"这个单词上,它就会告诉你那里出现了错误,而且告诉得特别详细,你就可以根据它的提示区找,都是出现在SQL Server的查询语句上面,经常会告诉你在"where 附近有错"在没有拼写错误的情况下,你就可以考虑是不是符号的问题了,很可能就是因为你在的时候没有区分中英文符号.那么我们如何来避免这个让人头疼的问题呢?

 

           我们经常和代码打交道,而且代码都是用英文表示的,而且连标点符号都是用英文符号表示的,我用的搜狗输入法,搜狗输入法默认的是用"Shift"键来切换中英文,而我们习惯按"Ctrl"键,那么你可以把中英文切换换成"Ctrl"键.这是一个治标不治本的解决方案.如果我们想以后都不犯这个错误,我们可以从根本上来解决这个问题解决方案如下:

在搜狗图标上右击,然后弹出:

选择"设置属性",然后

:

这个办法从根本上解决了你中英文符号的问题!

 

          .在程序里面容不得一点错误,一个小小的符号就能让我们如此纠结,一个符号解决了.我们再来看看在文本框中输入的字符串特别长的时候,一个很烦人的错误就蹦出来了,而且每次调试的时候都是出现在"mrc.Fields(0) = Trim(txtSID.Text)"这些地方,你一遍又一遍的检查,感觉没有什么错误,但是它就是不停的给你报错,让你烦的不行.一般出现在这个从未的原因是你文本框中输入的字符串长度于数据库中定义的数据类型的长度,

           想要避免这个问题,我们就需要让输入框中的长度不大于数据库中定义的长度,解决方案有两种,一种是在提交的时候进行判断然后进行提示:

 If txtusername.MaxLength > 10 Then
        MsgBox "最多只能输入10位数字或者5个汉字", vbOKOnly + vbExclamation, "警告"
        txtusername.Text = ""
        txtusername.SetFocus
    End If

在运行的时候进行判读,如果输入的字符串长度超过了10,就会给你报错,告诉你"最多只能输入10位数字或者5个汉字".

           这个方法是在运行阶段限制的的,那么我们也可以在设计阶段进行限制,使用textbox的Maxlength属性进行限制,输入你要限制的长度,这个方法是比较简单的.

 

           由于在程序设计阶段,没有对用户的输入进行限制,可以重复的存入数据,在SQL Server 表中,重复的数据无法使用右键-----删除,每次删除的时候都会报错:

答案总是比问题多的,方法总是比困难多的,问题出现了,要想的就是如何去解决这个问题.我们先来看看出现这样问题的原因,找到根源了,就好解决了.主要的原因是:如果2条或以上记录内容是相同的,则存储的时候是存为一条数据的,这样修改一条就修改2条(或者多条)。

           原因找到了,我们来瞅瞅它的解决方案:

单击SQL  Server  Management Studio工具栏上的“新建查询”按钮,然后按照提示登陆要修改的数据表所在的数据库,然后会在数据库的编辑窗口弹出一个可以执行SQL语句的窗口,在该窗口输入以下SQL语句

                  

                       delete      数据库名.表名     where    要删除的字段名 =     '字段值'

                       例如:delete user_Info  where user_ID ='123'

 

 然后点击“执行”,就可以把重复的数据给删除了!

 

       这是我在做学生信息管理系统的过程中,最常遇到的三个问题,我把它分享出来,希望对大家有些帮助!

猜你喜欢

转载自hongqiang.iteye.com/blog/1624395