在学生信息管理系统中,有很多地方都需要验证输入信息的,比如说姓名不能输入空的,学号只能输入数字,年月日只能按照规定的的方式输入。
那么我们来看看常用的几种数据验证:
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.重复数据不允许保存
如果数据表中存在大量的重复数据,则会给以后的管理和维护带来麻.那么我们如何禁止录入重复的数据呢.
除了在数据库的表中设置约束.我们也可以在程序中进行设计
7判断输入数据是否符合要求
在数据录入过程中,如果在要求输入数字的文本框中,用户不小心输入了其他类型的数据,则在数据保存中时将会出现错误,从而使用尚未保存的程序,就这样退出程序。
如果在程序保存前,对用户输入的数据进行验证,此问题就不会出现了。
判断是否为数值型数据主要使用IsNumeric函数,该函数可以判断表达式的结果是否为数值型数据,
代码如下:
数据验证的最主要的东西就是使用循环语句if ...end if进行判断。如果满足条件的就执行快语句,如果不满足的就跳出来!
通过数据验证更好的提高了程序的健壮性!写程序和做人做事一样,凡事要尽可能的考虑周全,防患于未然!!