Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2088527
  • 博文数量: 1647
  • 博客积分: 80000
  • 博客等级: 元帅
  • 技术积分: 9980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 15:15
文章分类

全部博文(1647)

文章存档

2011年(1)

2008年(1646)

我的朋友

分类:

2008-10-28 17:45:15

  系统需求分析

  研究生个人信息管理 
  导师信息管理
  专业信息管理

  功能模块设计

  针对上述需求,设计的功能模块如图10.34所示。



  数据表设计

  1.研究生信息数据表
  
  数据表名称:graduate_info。数据表结构如表10.4所示。


  2.专业信息数据表


  3.导师信息数据表



  索引和视图设计

  1.研究生信息数据表的索引和视图设计
  2.专业信息表的索引和视图设计
  3.导师信息数据表的索引和视图设计

  创建数据库用户

  (1)在如图10.35所示的创建用户的【一般信息】选项卡中进行如下设置。

  (2)切换到如图10.36所示的创建用户的【角色】选项卡。


  (3)成功创建上述用户的SQL代码如下。
  ―――――――――――――――――――――――――――――――――――――
  CREATE USER "GRADUATEUSER" PROFILE "DEFAULT"
  IDENTIFIED BY "12345678" DEFAULT TABLESPACE "USERS"
  TEMPORARY TABLESPACE "TEMP"
  ACCOUNT UNLOCK;
  GRANT UNLIMITED TABLESPACE TO "GRADUATEUSER";
  GRANT "CONNECT" TO "GRADUATEUSER";
  GRANT "RESOURCE" TO "GRADUATEUSER";
  ―――――――――――――――――――――――――――――――――――――
  【参见光盘文件】:第10章\creategraduateuser.sql。

  (4)读者可以直接在【SQLPlus Worksheet】中执行creategraduateuser.sql文件创建用户。

  创建数据表

  1.创建研究生信息表

  (1)在如图10.37所示的创建表的【一般信息】选项卡中进行如下操作。

  (2)切换到如图10.38所示的创建表的【约束条件】选项卡。


  (3)上述创建数据表graduateuser.graduate_info的SQL代码如下。


  (3)上述创建数据表graduateuser.graduate_info的SQL代码如下。

  (4)读者可以直接在【SQLPlus Worksheet】中执行createtablegraduateinfo.sql 文件创建数据表graduateuser.graduate_info。

  
2.创建专业信息表
  
  
(1)在如图10.39所示的创建表的【一般信息】选项卡中按照如图所示进行设置。

  
(2)切换到如图10.40所示的创建表的【约束条件】选项卡。


  (3)上述创建数据表graduateuser.major_info的SQL代码如下。


  【参见光盘文件】:第10章\createtablemajorinfo.sql。

  (4)读者可以直接在【SQLPlus Worksheet】中执行createtablemajorinfo.sql文件创建数据表graduateuser.major_info。

  3.创建导师信息表

  
(1)在如图10.41所示的创建表的【一般信息】选项卡中按照如图所示进行设置。

  
(2)切换到如图10.42所示的创建表的【约束条件】选项卡。


  (3)上述创建数据表graduateuser.director_info的SQL代码如下。


  【参见光盘文件】:第10章\createtabledirectorinfo.sql。

  (4)读者可以直接在【SQLPlus Worksheet】中执行createtabledirectorinfo.sql 文件创建数据表graduateuserdirector_info。

  创建索引

  1.为研究生信息表的NAME字段建立索引

  
(1)在如图10.43所示的创建索引的【一般信息】选项卡中按照图示进行操作。

  (2)其他选项卡按照默认设置即可。


  (3)上述创建索引的SQL代码如下。
  ―――――――――――――――――――――――――――――――――――――
  CREATE INDEX "GRADUATEUSER"."研究生姓名字段索引"
  ON "GRADUATEUSER"."GRADUATE_INFO"("NAME")
  TABLESPACE "INDX"
  ―――――――――――――――――――――――――――――――――――――
  【参见光盘文件】:第10章\createindexgraduate.sql。

  (4)读者可以直接在【SQLPlus Worksheet】中执行createindexgraduate.sql 文件创建数据表graduateuser.graduate_info的索引“研究生姓名字段索引”。

  
2.为导师信息表的NAME字段建立索引

  
(1)在如图10.44所示的创建索引的【一般信息】选项卡中按照图示进行操作。

  
(2)其他选项卡按照默认设置即可。

  
(3)上述创建索引的SQL代码如下。
  ―――――――――――――――――――――――――――――――――――――
  CREATE INDEX "GRADUATEUSER"."导师姓名字段索引"
  ON "GRADUATEUSER"."DIRECTOR_INFO"("NAME")
  TABLESPACE "INDX"
        ―――――――――――――――――――――――――――――――――――――
  【参见光盘文件】:第10章\createindexdirector.sql。

  
(4)读者可以直接在【SQLPlus Worksheet】中执行createindexdirector.sql 文件创建数据表graduateuser.director_info的索引“导师姓名字段索引”。



  创建视图

  1.为研究生信息表建立视图

  (1)在如图10.45所示的创建视图的【一般信息】选项卡中按照图示进行操作。


  (2)其他选项卡按照默认设置即可。

  (3)上述创建视图的SQL代码如下。
  ―――――――――――――――――――――――――――――――――――――
  CREATE OR REPLACE VIEW "GRADUATEUSER"."VIEW_GRADUATE" AS
  select *
  from graduateuser.graduate_info WITH READ ONLY
  ―――――――――――――――――――――――――――――――――――――
  【参见光盘文件】:第10章\createviewgraduate.sql。

  (4)读者可以直接在【SQLPlus Worksheet】中执行createviewgraduate.sql文件创建数据表graduateuser.graduate_info的视图“VIEW_GRADUATE”。

  
2.为专业信息表建立视图

  
(1)在如图10.46所示的创建视图的【一般信息】选项卡中按照图示进行操作。


  (2)其他选项卡按照默认设置即可。

  (3)上述创建视图的SQL代码如下。
  ―――――――――――――――――――――――――――――――――――――
  CREATE OR REPLACE VIEW "GRADUATEUSER"."VIEW_MAJOR" AS
  select *
  from graduateuser.major_info WITH READ ONLY
  ―――――――――――――――――――――――――――――――――――――
  【参见光盘文件】:第10章\createviewmajor.sql。

  (4)读者可以直接在【SQLPlus Worksheet】中执行createviewmajor.sql文件创建数据表graduateuser.major_info的视图“VIEW_MAJOR”。

  2.为导师信息表建立视图

  
(1)在如图10.47所示的创建视图的【一般信息】选项卡中按照图示进行操作。

  
(2)其他选项卡按照默认设置即可。

  
(3)上述创建视图的SQL代码如下。
  ―――――――――――――――――――――――――――――――――――――
  CREATE OR REPLACE VIEW "GRADUATEUSER"."VIEW_DIRECTOR" AS
  select *
  from graduateuser.director_info WITH READ ONLY
  ―――――――――――――――――――――――――――――――――――――
  【参见光盘文件】:第10章\createviewdirector.sql。

  (4)读者可以直接在【SQLPlus Worksheet】中执行createviewdirector.sql 文件创建数据表graduateuser.director_info的视图“VIEW_DIRECTOR”



  VB工程总体框架

  开发完成的研究生管理信息系统的总体框架如表10.7所示。

  【参见光盘文件】:第10章\研究生管理信息系统.vbp。




  系统是如何运行的

  (1)启动VB,打开配套光盘的工程文件。

  (2)如图10.48所示。


  (3)出现如图10.49所示的工程属性的【通用】选项卡。

  (4)打开模块Module1,查看名为Main的过程的代码如下。说明Main过程将启动名为frmMain的主窗体。



  (5)编辑名为frmMain的主窗体,如图10.50所示。


  (6)出现如图10.51所示的【菜单编辑器】界面,可以查看主窗体的菜单设计。


  工程中设计的菜单如表10.8所示。



  (7)为什么这些菜单可以调用这些子窗体或者执行退出主窗体的操作呢?在图10.50的主窗体中用鼠标双击,在出现的代码窗口中的主要代码如下。
  ―――――――――――――――――――――――――――――――――――――
  ‘选择菜单项DirectorInsertMenu后将显示子窗体FormInsertDirector
  Private Sub DirectorInsertMenu_Click()
  FormInsertDirector.Show
  End Sub
  ‘选择菜单项DirectorSelectMenu 后将显示子窗体FormSelectDirector
  Private Sub DirectorSelectMenu_Click()
  FormSelectDirector.Show
  End Sub
  ‘选择菜单项DirectorUpdateMenu后将显示子窗体FormUpdateDirector
   Private Sub DirectorUpdateMenu_Click()
  FormUpdateDirector.Show
  End Sub
  ‘选择菜单项GraduateInsertMenu后将显示子窗体FormInsertGraduate
  Private Sub GraduateInsertMenu_Click()
  FormInsertGraduate.Show
  End Sub
  ‘选择菜单项GraduateSelectMenu后将显示子窗体FormSelectGraduate
  Private Sub GraduateSelectMenu_Click()
  FormSelectGraduate.Show
  End Sub
  ‘选择菜单项GraduateUpdateMenu后将显示子窗体FormUpdateGraduate
  Private Sub GraduateUpdateMenu_Click()
  FormUpdateGraduate.Show
  End Sub
  ‘选择菜单项MajorInsertMenu后将显示子窗体FormInsertMajor
  Private Sub MajorInsertMenu_Click()
  FormInsertMajor.Show
  End Sub
  ‘选择菜单项MajorUpdateMenu后将显示子窗体FormUpdateMajor
  Private Sub MajorUpdateMenu_Click()
  FormUpdateMajor.Show
  End Sub
  ‘选择菜单项ExitMenu后将显示退出主窗体
  Private Sub ExitMenu_Click()
  End
  End Sub
  ―――――――――――――――――――――――――――――――――――――

  模块的设计

  模块Module1的其他主要代码如下。
  ―――――――――――――――――――――――――――――――――――――
  ‘定义了名为ConnectString的无参数函数,连接数据库
  Public Function ConnectString() As String
  ConnectString = "DSN=graduateDB;UID=graduateuser;PWD=12345678"
  End Function
  ‘定义了名为ExecuteSQL的带参数函数,参数SQL和MsgString都为字符串型。该函数用于执行SQL语句。
  Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
  ‘conn为ADODB的connection连接对象
  Dim conn As ADODB.Connection
  ‘rest为ADODB的记录集对象
  Dim rest As ADODB.Recordset
  ‘若执行SQL错误转向ExecuteSQL_Error标记处
  On Error GoTo ExecuteSQL_Error
  Set conn = New ADODB.Connection
  ‘连接数据库
  conn.Open ConnectString
  Set rest = New ADODB.Recordset
  ‘执行SQL字符串语句
  rest.Open Trim$(SQL), conn, adOpenKeyset, adLockOptimistic
  Set ExecuteSQL = rest
  MsgString = "查询到" & rest.RecordCount & " 条记录"
  ‘执行SQL完毕后关闭连接和记录集
  ExecuteSQL_Exit:
  Set rest = Nothing
  Set conn = Nothing
  Exit Function
  ‘执行SQL错误时的处理方法
  ExecuteSQL_Error:
  MsgString = "查询错误: " & _
  Err.Description
  Resume ExecuteSQL_Exit
  End Function
  ‘定义了名为Checktxt的带参数函数,参数txt为字符串型。该函数用于检测txt字符串是否有内容。
  Public Function Checktxt(txt As String) As Boolean
  If Trim(txt) = "" Then
  Checktxt = False
  Else
  Checktxt = True
  End If
  End Function
  ―――――――――――――――――――――――――――――――――――――

  各子窗体的设计

  1.添加信息窗体的设计

  打开名为FormInsertGraduate的子窗体,如图10.52所示。


  窗体的设计如表10.8所示。

  表10.8 子窗体FormInsertGraduate的设计



 

[1]  

【责编:Amy】

--------------------next---------------------

阅读(191) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~