学生系统优化
来源:互联网 发布:大数据在线培训哪家好 编辑:程序博客网 时间:2024/06/05 11:43
0.窗体布局
'设置窗体的大小和位置
Me.Width = 7600
Me.Height = 6700
Me.Left = Screen.Width / 2 - Me.Width / 2
Me.Top = Screen.Height / 2 - Me.Height / 2
1.添加日历功能代码
首先添加日历控件,ctrl+T或者菜单栏“工程—部件”,选中Microsoft Windows Common Controls-2 6.0 (SP6)有MonthView控件,就是日历了;然后就可以编写代码了。在窗体加载时,日历的visual属性不可用。
'添加点击日历时,输入日期
Private Submonthview1_dateclick(ByVal dateclicked As Date)
If flag = True Then
txtBorndate.Text = MonthView1.Year& "-" & MonthView1.Month & "-" &MonthView1.Day
Else
txtRudate.Text = MonthView1.Year &"-" & MonthView1.Month & "-" & MonthView1.Day
end if
MonthView1.Visible =False
End Sub
'在输入日期框的控件,添加日历显示代码
Private Subtxtborndate_click()
flag = True
MonthView1.Visible = True
End Sub
Private Subtxtrudate_click()
flag = False
MonthView1.Visible = True
End Sub
2.修改信息时,所有的文本框不可用
'使各个按钮有效
cmdFirst.Enabled = True
cmdPrevious.Enabled = True
cmdNext.Enabled = True
cmdLast.Enabled = True
'使各个文本框失效
txtSID.Enabled = False
txtName.Enabled = False
comboSex.Enabled = False
txtBorndate.Enabled = False
comboClassNo.Enabled = False
txtRudate.Enabled = False
txtTel.Enabled = False
txtAddress.Enabled = False
txtComment.Enabled = False
mcclean = True
3.由于跟数据库有关系,所有当我们进行有关数据的操作时,需要注意当没有数据时应当做什么。当数据库中没有记录时的,弹出提示信息,让所有的按钮都不可用,这样可以避免由于没有数据而出现的错误。
'判断表中数据是否为空
If mrc.RecordCount =0 Then
MsgBox "数据库表中已经没有记录了!请先添加数据!", vbOKOnly + vbExclamation, "信息提示"
Exit Function
End If
4.修改型的窗体中,点击更新记录并不是真正的更新,而是把原先的记录删除,添加了一个新的记录。可以查看源代码定义了两个执行查询的变量:mrc和mrcc,相关代码操作是mrc.delete mrcc.AddNew.
5.添加课程信息窗口出现了一个问题,数据库中该表中的课程编号的数据类型是int,当你输入001时,它自动保存的是1,虽然会有判断是否重复记录,但是出入的和保存的判断不出来,因为输入的是001,表中保存的是1,所以这样做的后果是表中会有重复的课程编号。原因在于VB中int类型保存时会自动舍去第一位是0的位数。
6.查询数据时,注意使用的组合sql语句,句尾要加个空格,否则会出现“变量或对象变量with未设置”的错误。
7.关于SQL语句,在单引号的左右需要注意不要输入多余的空格,不然会查询不到记录。
比如这个:第一行语句中,注意单引号的前后,是没有空格的。
'添加相关课程
txtSQL = "select * fromgradecourse_info where grade='" & myGrade & "'"
Set mrc =ExecuteSQL(txtSQL, MsgText) '调用模块中定义的查询函数
MsgBox MsgText '弹出查询结果窗口
8.combobox控件数据重复问题及解决代码
txtSQL ="select grade from class_info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
For i = 1 To mrc.RecordCount
comboGrade.AddItem mrc.Fields(0)
a(i) = mrc.Fields(0)
mrc.MoveNext
Next i
'去掉重复数据
For i = 0 To comboGrade.ListCount - 1
For j = i + 1 To comboGrade.ListCount -1
s1 = a(i)
s2 = comboGrade.List(j)
If s1 = s2 ThencomboGrade.RemoveItem (j)
Next j
Next i
9.在无需提醒的由于操作不当造成错误的可以加上,来跳过错误,建议不在万不得已的情况下不使用这样的语句。
On Error Resume Next
10.判断listbox数据重复
用到的两个属性:listindex(返回一个数值型的索引)、list(index)返回该数据。
List1.listindex:表示当前选中数据,返回值是数值型
List1.list(index):返回索引的数据。
例子代码
Dim a As Integer
If listAllCourse.ListIndex <> -1 Then
a = listAllCourse.ListIndex
For i = 0 TolistSelectCourse.ListCount - 1 '遍历判断是否有重复数据
If listAllCourse.List(a) =listSelectCourse.List(i) Then
MsgBox "已有该课程"
Else
listSelectCourse.AddItemlistAllCourse.List(listAllCourse.ListIndex)
End If
Next i
End If
11.修改信息的窗口(添加判断是否有修改)的四步操作
(1)首先声明一个标志数组,根据信息的显示控件来定义大小
Dimflag(6) as boolean
(2)在修改记录按钮的事件中,给标志赋初值
Dim i asinteger
For i= 0to 5
flag(i)=true
Next i
(3)添加这个几个控件的change事件,这里给出一个的代码,其余的相同;注意修改索引
Private SubtxtClassNo_Change()
flag(0) = False
End Sub
(4)在更新按钮事件中,添加代码。如果有修改,就把原来的记录删除。
If flag(0) = TrueAnd flag(1) = True Then
MsgBox "什么都没修改,不用更新"
Exit Sub
Else
mrc.Delete
End If
12.添加考试成绩与添加其他信息稍微有些不同,不同之处在于其他表有一个可以唯一确定一条记录的字段,而成绩表,除姓名和分数之外,其余四个字段都可以唯一确定一个记录。所以这里的判断条件是多条件判断:
'执行查询操作
txtSQL = "select * from result_infowhere exam_No ='" & comboExamNo.Text & "' and student_ID='" & comboSID.Text & "'and course_Name ='" &comboCourse.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then '判断是否到数据集最后
MsgBox "有相同纪录,请重新输入信息!", vbOKOnly + vbExclamation,"警告"
mrc.Close
13.文本框控件限制输入内容,可以使用退格键。
'电话文本框中只能输入数字
Private SubtxtTel_KeyPress(KeyAscii As Integer)
If KeyAscii < 7 OrKeyAscii > 9 And KeyAscii < 48 Or KeyAscii > 57 Then '(退格键的ASCII码是8)
KeyAscii = 0
End If
End Sub
总结:学生管理系统让我明白了,学习是一件认真、严肃的事情,它不允许你将就、差不多来执行;只有不将就才可以将它学懂、学精。
- 学生信息管理系统优化
- 学生信息管理系统优化
- 【学生信息管理系统】优化
- 学生信息管理系统优化
- 学生信息管理系统优化
- 学生系统优化
- 学生系统优化
- 学生系统优化2
- 学生系统优化
- 学生信息管理系统优化
- 学生信息管理系统之优化
- 《学生信息管理系统》优化完工!!!!!
- 学生信息管理系统之优化
- 学生信息管理系统小结-优化篇
- 学生管理系统总结之性能优化
- 学生信息管理系统之优化处理
- 学生信息管理系统优化问题汇总
- 学生信息管理系统——“优化查询”
- Java本地文件(File类的操作)
- 交叉验证与网格搜索
- pydev导入扩展模块出现红叉 (以opencv为例)
- JS常用正则表达式表单验证代码大汇总
- dom4j保存信息到XML文件
- 学生系统优化
- 深入理解MySQL数据库的binlog
- string与int转换
- 解决Gradle:download特别慢或卡主不动的问题
- axi stream FIFO缓存的问题
- Python廖雪峰实战web开发(Day5-编写web框架)
- Django登录权限的认证
- android开发中selinux的影响
- 实战hadoop海量数据处理系列05 : 实现点击流日志的数据清洗模块