学生托了好长时间,错误也是接连不断的出现,但是在错误中也收获了很多,敲完所有的窗体代码才开始改的错误。这样是很不好的,每个窗体之间都有联系,可以说是牵一发而动全身,一个窗体出现错误也导致其他窗体出现错误,导致错误不好找出。以后要避免这种错误。
系统创建数据时主要靠这6个表联系的窗体界面,这个实例采用的是多文档界面,这样可以使程序更加美观,整齐,有序。最开始公用模块界面,存在很多函数、变量,使其他窗体调用方便,所以窗体中一些需要反复使用的语句要写在模块中,这样可以极大的提高代码的效率。
模块中主要代码:
添加函数代码返回记录集:Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
返回数据库连接 :
Public Founction ConncetString()as String ConncetString作为数据连接
程序中判断各种文本是否为空 :Public Function Testtxt(txt As String) As Boolean
If Trim(txt) = "" Then
Testtxt = False
Else
Testtxt = True
End If
End Function
sub Main系统启动时首先执行,保证对用户的管理
登陆窗体,从user_Info中提取数据与用户输入的信息进行比较,从而进入系统!
后边几个窗体基本用的是增、删、改、查。
数据库的添加:
增加信息首先要使内容不为空不重复,比如班号,年纪,姓名等,然后查询语句 : txtSQL = “select * from <表格名称>” Set mrc = ExecuteSQL(txtSQL, MsgText)最后把内容添加到数据库中。
mrc.AddNew
mrc.Fields(0) = Trim(txtClassno.Text)
mrc.Fields(1) = Trim(coboGrade.Text)
mrc.Fields(2) = Trim(txtDirector.Text)
mrc.Fields(3) = Trim(txtClassroom.Text)
'更新数据库
mrc.Update
mrc.Close
MsgBox "添加班级信息成功!", vbOKOnly + vbExclamation, "添加班级信息信息"
end sub
数据库的删除:
Private Sub deleteCommand_Click()
'记下当前记录位置
myBookmark = mrc.Bookmark
'提示是否删除
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
'判断按钮类型
If str2$ = vbOK Then
'移动到数据集下条记录
mrc.MoveNext
'判断数据集对象是否为空
If mrc.EOF Then
'移动到数据集第一条记录
mrc.MoveFirst
myBookmark = mrc.Bookmark
'移动到最后一条记录
mrc.MoveLast
'删除记录
mrc.Delete
mrc.Bookmark = myBookmark
'调用函数显示数据
Call viewData
Else
'记载当前位置
myBookmark = mrc.Bookmark
'移动到前一条记录
mrc.MovePrevious
'删除记录
mrc.Delete
'回到原来位置
mrc.Bookmark = myBookmark
'调用函数显示数据
Call viewData
End If
Else
'记载当前位置
mrc.Bookmark = myBookmark
Call viewData
End If
End Sub
数据的修改:
mrc.Fields(0) = comboExamtype.Text
mrc.Fields(1) = comboSID.Text
mrc.Fields(2) = txtName.Text
mrc.Fields(3) = comboClassNo.Text
mrc.Fields(4) = comboCourse.Text
mrc.Fields(5) = txtResult.Text
mrc.Update
mrc.Close
MsgBox "修改成绩成功!", vbOKOnly + vbExclamation, "警告"
数据库的查询:
'sql语句
txtSQL = "select * from class_Info "
'执行查询操作
Set mrcc = ExecuteSQL(txtSQL, MsgText)
调用数据库中的数据:
Public Sub viewData()
comboExamtype.Text = mrc!exam_No
comboClassNo.Text = mrc!class_No
comboSID.Text = mrc!student_ID
txtName.Text = mrc!student_Name
txtResult.Text = mrc!result
comboCourse.Text = mrc!course_Name
End Sub