沿着别人的足迹,找寻属于我们的那份提高—学生信息管理系统
我的第一个作品—学生信息管理系统,老师虽然已给系统的源代码,但是做完之后我还是蛮有成就感的!一是因为这是我的第一个系统,只有有了这次的探索与尝试,我才会在以后的道路上越走越远,尽管自己对好多知识掌握的不好,但我相信自己会不断提高的;二是我们不是在单纯的做系统,而是把我们要把我们当做用户,去不断地挖掘系统的潜能。我和大家不同,大家在准备作品展时我在准备接本,无形中我就落下了许多,但我相信自己可以尽力缩小我们之间的差距的,并慢慢赶上大家的。下面就来介绍我的学生信息管理系统。
一、总体分析
刚拿到学生信息管理系统时,只是简单的从宏观上了解了一下这个系统,看了一下各个窗体和代码。等到做完了系统才知道当时自己宏观和微观都没有把握好,比如说做这个系统最终要达到一个什么样的效果、各个窗体间的联系、各个功能是怎样实现的等。
对我的启示就是做一个系统或软件前,必须从宏观上把控系统的方向和用户的需求,微观上协调好各个窗体、各个模块、各个控件间的联系,保证系统的合理性和条理性。
二、界面设计
学生信息管理系统是由一个登陆窗体、一个MDI窗体(父窗体)、14个子窗体、一个标准模块构成。MDI窗体用来调出14个子窗体,完成学生信息的管理。
三、编写代码
拿着学生信息管理系统的源代码,刚开始还感觉挺简单的。但真正做系统时,才发现自己只是在宏观上理解了一下系统和代码间的关系,而具体到某些模块的代码起到一个什么作用、如果不写会出现什么样的效果、为什么有些代码会反复出现等。随着对系统的一步步深化,才明白这个系统的整体架构、各个模块间的关系、各个代码的用处。下面简单介绍几个典型的窗体:
1、登录窗体
If Trim(txtUsername.Text = "") Then MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告" txtUsername.SetFocus Else strTxtSQL = "select * from user_Info where user_ID = '" & txtUsername.Text & "'" Set mrc = ExecuteSQL(strTxtSQL, strMsgtext) If mrc.EOF Then MsgBox "该用户不存在,请重新输入!", vbOKOnly + vbExclamation, "警告" txtUsername.SetFocus Else If Trim(mrc.Fields(1)) = Trim(txtpassword.Text) Then ok = True mrc.Close Me.Hide Username = Trim(txtUsername.Text) Else MsgBox "密码输入错误,请重新输入", vbOKOnly + vbExclamation, "警告" txtpassword.SetFocus txtpassword.Text = "" End If End If End If micount = micount + 1 If micount = 3 Then '用户输入三次后,该窗体隐藏 Me.Hide End If Exit Sub
导图部分:

2、MDI窗体
代码部分:
列举三个连接其他窗体的例子:Private Sub about_Click() frmAbout.ShowEnd SubPrivate Sub addcinfoMenu_Click() frmaddclassinfo.ShowEnd SubPrivate Sub addcourseMenu_Click() frmaddcourseinfo.ShowEnd Sub设置窗体的大小Private Sub MDIForm_Load() '从注册表中取出上次关闭MDIForm时的大小 Me.Left = GetSetting(App.Title, "settings", "mainleft", 1000) '设置窗体大小 Me.Top = GetSetting(App.Title, "settings", "mainleft", 1000) Me.Width = GetSetting(App.Title, "settings", "mainwidth", 6500) Me.Height = GetSetting(App.Title, "settings", "mainheight", 6500) End Sub保存设置Private Sub MDIForm_Unload(Cancel As Integer) '在关闭此窗体时,保存设置(最小化时无需保存,最大化和关闭时需保存) If Me.WindowState <> vbMinimized Then SaveSetting App.Title, "settings", "mainleft", Me.Left SaveSetting App.Title, "settings", "maintop", Me.Top SaveSetting App.Title, "settings", "mainwidth", Me.Width SaveSetting App.Title, "settings", "mainheight", Me.Height End If End Sub
导图部分:
3、标准模块
标准模块:用来存放公共变量、常量、数据类型和过程,其他的模块可以调用标准模块中的代码,一个工程可有多个标准模块。系统在此模块中定义了一些函数,并包含数据库的连接方式。
4、添加
代码部分:
5、修改
代码部分:
6、查询
代码部分:
7、设置
代码部分:
四、数据库连接
在前面无实例中用到数据库的两种连接方式:有源和无源。起初学生信息管理系统也采用了有源连接,后方便在各种系统和机器上测试,我们选择了另外一种连接方式——远程连接。
方式一、有源连接,先配置,再连接
'远程连接数据源Public Function connectionstring() As String 'returns a DB ConnectString connectionstring = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;PassWord=123;Initial Catalog='student';Data Source=192.***.**.***"End Function五、调试
(1)快捷键的使用
Ctrl+F 查找此函数
Shift+F2 查看当前光标所在的变量或函数、子过程的定义。
F1 从不用—经常使用
(2)设置断点
以前不用—开始接触
六、打包发布
做完系统后才了解,系统必须打包发布才可以在不同的系统和机器上运行(包括未安装VB的)。
.exe和打包发布的程序的区别:.exe不可以在未安装VB的机器上运行七、总结
通过做学生信息管理系统,了解到怎样去分析一个系统、怎样去做一个系统、如何更好的完善自己的系统、如何处理系统中的错误、如何等。在以后的总结中,我会把做系统时经常出现的错误分类汇总。也许现在我做的系统存在很多不合理的地方,但会不断的去完善它,改进它。