数据验证技巧

        在学生信息管理系统中,有很多地方都需要验证输入信息的,比如说姓名不能输入空的,学号只能输入数字,年月日只能按照规定的的方式输入。

        那么我们来看看常用的几种数据验证:

 

1.判断连接已经打开

        动态连接数据库时,需要随时打开数据库,并将其关闭,否则再次打开时将出现“对象打开时,不允许操作”的提示。那么如何判断数据库连接是否打开了呢?使用ADO对象/Connection对象的State属性,可以说明对象状态是否打开。

如果是打开则将其关闭就可以

代码如下:

 dim cnn  as  ADODB.connection

If  cnn.State=adStateOpen then

     Cnn.Open

End if

 

2.空数据不允许保存

        在数据录入的过程中,如果将空的数据保存到数据表中,有时会引起错误,并为以后的查询和维护带来不便,因此数据保存前,要对空数据进行判断,代码如下:

If    trim(text1.text)="" then

     msgBox "系统不允许XX名称为空!",,"提示窗口"

    Exit Sub

End if

 

 

3.判断读取的字段值为空

        当用Visual Basic 读取数据库数据时,有的记录值可能为NULL ,如果不处理就显示出来,有时会产生错误。因此在对数据显示之前必须进行判断字段值是否为NULL,判断可用函数IsNull 实现.

 

(1)再将数据记录的值显示在文本框之前,先判断是否为Null

代码如下:

If IsNull(ADODB.Recordset.Fields("字段名") then

   text1.text=""

Else

   Text1.text=ADODB.Recordset.Fields("字段名")

End if

 

 

(2)在读取数据记录值时,无论该值是否为NULL,都为其加一个空格。

  text.text=Adodc1.Recordset.Fields("字段名") & ""

 

 

4.判断表中是否有记录

        操作记录集时,一般需要在进行具体操作前,判断一下记录集是否空,可以使用Recordset对象的BOF 和EOF 属性,来判断Recordset 对象中是否有数据存在。

 

(1)代码如下:

Dim mcc AS ADODB.Recordset

If   mcc.EOF  And mcc.BOF then

  msgbox "没有记录"

End if

 

(2)利用语句"Adodc1.Recordset.RecordCount>0"判断,成立就不为空

Dim mcc AS ADODB.Recordset

Dim c

If mcc.recordCount>0 then

     c=MsgBox("您确认要删除该记录吗?",vbokcancel,"删除提示信息")

     If c=vbOK then

            mrc.delete

            mrc.refresh

   End if

Else

     Msgbox "当前数据库中已经没有可删除的记录",vbOKOnly++ vbExclamation,"提示信息"

End if

 

5.判断字段的大小

        在数据录入的过程中,有时会因为输入的内容过长,而设计的字段太小,引起运行时错误,出现这种情况,可以通过判断字段的大小,来避免错误发生

 

代码如下:

 

 

6.重复数据不允许保存

        如果数据表中存在大量的重复数据,则会给以后的管理和维护带来麻.那么我们如何禁止录入重复的数据呢.

除了在数据库的表中设置约束.我们也可以在程序中进行设计

 数据验证技巧_第1张图片

 

 

7判断输入数据是否符合要求

        在数据录入过程中,如果在要求输入数字的文本框中,用户不小心输入了其他类型的数据,则在数据保存中时将会出现错误,从而使用尚未保存的程序,就这样退出程序。

        如果在程序保存前,对用户输入的数据进行验证,此问题就不会出现了。

 

        判断是否为数值型数据主要使用IsNumeric函数,该函数可以判断表达式的结果是否为数值型数据,

代码如下:

 

        数据验证的最主要的东西就是使用循环语句if ...end if进行判断。如果满足条件的就执行快语句,如果不满足的就跳出来!

        通过数据验证更好的提高了程序的健壮性!写程序和做人做事一样,凡事要尽可能的考虑周全,防患于未然!!

 

你可能感兴趣的:(数据验证技巧)