用SQLserver做学生成绩管理系统.ppt
1,第11章用SQL Server开发学生成绩管理系统,11.1 SQL Server后台数据库的设计与实现 11.2 VB前台界面的设计与实现,2,11.1 SQL Server后台数据库的设计与实现,11.1.1 创建学生成绩管理数据库11.1.2 创建信息表11.1.3 创建关系图11.1.4 创建视图,3,1实验内容使用SQL Server 企业管理器创建名为“xscjglxt”的数据库。2实验步骤(1)打开SQL Server企业管理器,出现如图11-1所示界面。点击左端“”号层层展开直到在屏幕上出现“数据库”、“master”、“model”、“msdb”、“tempdb”等项。,11.1.1 创建学生成绩管理数据库,4,图11-1 企业管理器,5,(2)用鼠标右键单击“数据库”项,从弹出的快捷菜单(见图11-2)中选择“新建数据库”项,此时会出现“数据库属性”对话框(见图11-3),在“名称”位置输入数据库名“xscjglxt”,点击“确定”按钮,便以默认的参数创建了一个名为“xscjglxt”的数据库。(3)在“xscjglxt”数据库上点击鼠标右键,在弹出菜单中选择“属性”项(见图11-4),进入“属性”对话框,在该对话框内单击“数据文件”和“事务日志”选项卡,观察数据文件和事务日志文件的设置参数(如图11-5)。,6,图11-2 数据库操作快捷菜单,7,图11-3 数据库属性界面,8,图11-4 xscjglxt数据库快捷菜单,9,图11-5 xscjglxt数据库属性界面,10,1实验内容使用SQL Server 企业管理器,在“xscjglxt”数据库上创建“T_XSB”、“T_KCB”、“T_CJB”三张表。其中:T_XSB(学生表)用来存储一个学校内学生的基本信息;T_KCB(课程表)用来存储与学生相关的课程的基本信息;T_CJB(成绩表)用来存储学生所选课程的成绩信息。通过这三张表,可以建立一个简单的学生信息管理系统。,11.1.2 创建信息表,11,表11-1 学生表(T_XSB)表结构,12,表11-2 课程表(T_KCB)表结构,13,表11-3 成绩表(T_CJB)表结构,14,2实验初始数据:,表11-4 学生表(T_XSB)初始记录,15,表11-5 课程表(T_KCB)初始记录,16,表11-6 成绩表(T_CJB)初始记录,17,3实验步骤(1)打开SQL Server企业管理器,在树形目录中找到“xscjglxt”数据库并展开它,选择数据库对象“表”,在“表”对象上单击鼠标器右键,则弹出一快捷菜单,如图11-6所示。(2)从弹出的快捷菜单中选择“新建表”选项,则弹出“表结构设计”窗口,如图11-7所示。该窗口的上半部分是一个表格,在这个表格中输入“学号”、“姓名”、“性别”、“出生日期”、“院系”等列的属性。,18,图11-6 新建表菜单,19,图11-7 表结构设计窗口,20,(3)用鼠标单击“学号”列,在工具栏中点击“钥匙”图标按钮,可将“学号”字段设置为主键(主关键字),此时“学号”前将出现一钥匙图标,如图11-7所示。注意:主关键字必须为“非空”字段。(4)将表结构输入完后,点击“保存”按钮将出现“选择名称”对话框,如图11-8所示。输入表名“T_XSB”后,点击“确定”按钮就完成了学生表表结构的设计,创建了一张空表。(5)按上述第2至第5步的方法,按表11-2和表11-3的要求,分别创建课程表“T_KCB”结构和成绩表“T_CJB”结构。,21,图11-8 输入表名,22,(6)返回企业管理器主界面,在表对象的显示窗口内找到“T_XSB”表名,在其上单击鼠标右键,由弹出菜单中,选择“打开表”选项的“返回所有行”命令,如图11-9所示。(7)选择“返回所有行”命令后,将出现“表数据录入及维护”窗口,如图11-10所示。根据表11-4所列实验数据,向“T_XSB”表中添加记录。(8)按第6至第7步所示方法依次将表11-5和表11-6所列数据输入到“T_KCB”和“T_CJB”表中。,23,图119 打开表菜单,24,图11-10 表数据录入及维护窗口,25,1实验内容使用SQL Server企业管理器建立三个关系表的关系图,并保证表中数据的唯一性。2实验步骤(1)运行SQL Server企业管理器,在树形目录中找到“xscjglxt”数据库并展开它,选择数据库对象“关系图”,在“关系图”选项上单击鼠标右键,则弹出一快捷菜单(见图11-11)。,11.1.3 创建关系图,26,图11-11 新建关系图弹出菜单,27,(2)在弹出的快捷菜单中选择“新建数据库关系图”选项,则弹出“创建数据库关系图向导”窗口,如图11-12所示。在该窗口单击“下一步”按钮,将出现“选择要添加的表”对话框,在这个对话框中选择表“T_XSB”、“T_KCB”和“T_CJB”,并点击“添加”按钮,将选中的表添加到右侧栏目中,如图11-13所示。单击“下一步”,检查所选择的表是否正确,如图11-14所示。(3)点击“完成”按钮,完成数据库关系图的创建,会出现“新关系图”窗口,如图11-15所示。,28,图11-12 创建数据库关系图向导,29,图11-13 创建数据库关系图向导(2),30,图11-14 创建数据库关系图向导(3),31,图11-15 新关系图窗口,32,(4)在“新关系图”窗口内,将光标放在“T_KCB”表中“课程号”字段前的“”标识处,压下鼠标左键,此时“课程号”字段呈被选中状态,拖动鼠标到表“T_CJB”上,松开鼠标左键,将弹出“创建关系”对话框,如图11-16所示。在“主键表”和“外键表”中都选择“课程号”字段,并点击“创建中检查现存数据”、“对复制强制关系”和“对INSERT和UPDATE强制关系”三个复选框,然后点击“确定”按钮。,33,图11-16 创建关系窗口,34,(5)按上述第4步的方法,建立学生表“T_XSB”和成绩表“T_CJB”在“学号”字段上的关系,如图11-17所示。(6)点击“保存”按钮,在弹出的“另存为”对话框中输入新关系的名称,如图11-18所示,点击“确定”按钮,完成新关系图的建立。,35,图11-17 创建关系后的窗口,36,图11-18 保存数据库关系图,37,1实验内容使用SQL Server企业管理器建立名为VIEW_cj视图,作为成绩查询的操作对象。2实验步骤(1)打开SQL Server企业管理器,在树形目录中找到“xscjglxt”数据库并展开它,选择数据库对象“视图”,在“视图”选项上单击鼠标器右键,则弹出快捷菜单,如图11-19所示。,11.1.4 创建视图,38,图11-19 新建视图弹出菜单,39,(2)在弹出的菜单中选择“新建视图”选项,将弹出“新视图”对话框,如图11-20所示。在对话框上半部分的灰色框内点击鼠标右键,从弹出的菜单中选择“添加表”选项,会出现“添加表”对话框,如图11-21所示。,40,图11-20 新建视图窗口,41,图11-21 添加表窗口,42,(3)在“添加表”对话框中,选择表“T_XSB”、“T_KCB”和“T_CJB”,点击“添加(A)”按钮,关闭“添加表”对话框,返回“新视图”对话框,如图11-22所示。在三个表的字段前可通过单击字段左边的复选框选择要添加到视图中的字段(不同表中名称相同的字段只勾选一次)。(4)点击“保存”按钮,在弹出的“另存为”对话框中输入新关系的名称,如图11-23所示,点击“确定”按钮,完成新视图的建立。,43,图11-22 添加表后的新视图窗口,44,图11-23新视图保存窗口,45,11.2 VB前台界面的设计与实现,11.2.1 设计主窗体11.2.2 实现学生信息管理11.2.3 实现课程信息管理11.2.4 实现成绩信息管理11.2.5 实现成绩查询 11.2.6 实现系统退出,46,1实验内容使用Visual Basic6.0设计与数据库相关联的“学生成绩管理系统”的前台界面。2实验步骤第一步:设计菜单启动Visual Basic6.0,新建一个标准工程,默认名为“工程1”。在该工程中会自动创建一个窗体,默认名为“Form1”,在该窗体中使用VB提供的“菜单编辑器”设计主窗体,如图11-24所示,命名主窗体为frm_menu。,11.2.1 设计主窗体,47,图11-24 设计学生成绩管理系统界面,48,第二步:添加代码在该窗口中,水平主菜单有三个“菜项”:“基本信息管理”、“成绩查询”和“退出”;其中“基本信息管理”菜项的下拉菜单中又有“学生信息管理”、“课程信息管理”和“成绩信息管理”三个“子菜项”。各菜单项的功能和代码如下:(1)主菜项“基本信息管理”包括三个子菜项:“学生信息管理”子菜项,为它添加Click事件,并添加如下代码:Private Sub xsxxgl_Click()frmxsxxgl.Show(命名“学生信息管理”窗口为frmxsxxgl)End Sub点击可调用“学生信息管理”窗口。,49,“课程信息管理”子菜项,为它添加Click事件,并添加如下代码:Private Sub xsxxgl_Click()frmkcxxgl.Show(命名“课程信息管理”窗口为frmkcxxgl)End Sub点击可调用“课程信息管理”窗口。“成绩信息管理”子菜项,为它添加Click事件,并添加如下代码:Private Sub cjxxgl_Click()frmcjxxgl.Show(命名“成绩信息管理”窗口为frmcjxxgl)End Sub点击可调用“成绩信息管理”窗口。,50,(2)主菜项“成绩查询”用于打开“成绩查询”窗口,为它添加Click事件。并添加如下代码:Private Sub cjcx_Click()Frmcjcx.Show(命名“成绩信息管理”窗口为frmcx)End Sub(3)主菜项“退出”用于关闭主窗口,为它添加OnClick事件,并添加如下代码:Private Sub quit_Click()EndEnd Sub点击可退出系统。,51,1实验内容实现前台界面与SQL Server 数据库的连接,添加代码实现“学生成绩管理系统”的“学生信息管理”部分的功能。2实验步骤第一步:设计“学生信息管理”主窗体,布局如图11-25所示,命名为frmxsxxgl。,11.2.2 实现学生信息管理,52,图11-25 学生信息管理界面,53,第二步:使用ADO控件访问SQL Server数据库,具体步骤如下:(1)单击“工程”菜单下的“部件”选项,在弹出的列表中选中“Microsoft ADO Data Contral(OLEDB)”选项和“Microsoft DataGrid Controa6.0(OLEDB)”选项,然后单击“确定”按钮,Adodc控件和DataGrid控件将被添加到工具箱中。(2)在“frmxsxxgl”窗体上放置一个Adodc控件、一个DataGrid控件、五个CommandButton控件、七个TextBox控件(构成一个控件数组),设计的窗体如图11-25所示。主要控件对象的属性见表11-7(见教材207页)。本例中应先设置Adodc控件和DataGrid控件的属性,然后再设置其它控件的属性。,54,(3)设置ADOdc1的ConnectionString属性:单击属性窗口中ConnectionString属性框右边的省略号按钮,将弹出如图11-26所示的“属性页”窗口,选中“使用连接字符串”选项。点击“生成”按钮,又弹出如图11-27(a)所示的“数据链接属性”对话框。在该对话框的“提供者”选项卡中选择“Microsoft OLE DB provider for Server”,点击“下一步”按钮进入“连接”界面。在“连接”选项卡中的“选择或输入服务器名称”列表框中选择或输入“(local)”;在“用户名称”文本框中输入“sa”,并选择空密码,在“在服务器上选择数据库”列表框中选择xscjglxt数据库(见图11-27(b))。点击“测试连接”,如果正确,则连接成功;如果不正确,系统会指出具体的错误,用户应该重新检查配置的内容是否正确。,55,图11-26 属性页对话框,56,图11-27 数据链接属性对话框,57,(4)设置RecordSource的属性:点击ADOdc1属性窗口中的RecordSource属性框右边的省略号按钮,将弹出如图11-28所示的“记录源”对话框。在“命令类型”列表框中选择“2adCmdTable”(表方式),在“表或存储过程名称”列表框中选择“T_SXB”,点击“确定”按钮。(5)设置表11-7中其它控件的属性,设置完成后,在VB环境中运行程序,可看到“学生信息管理”窗口如图11-29所示。,58,图11-28 记录源设置对话框,59,图11-29“学生信息管理”运行界面,60,第三步:使用程序代码来实现按钮的功能,具体步骤如下:(1)实现“添加”操作:当用户点击“添加”按钮时,可在界面中添加新记录,该操作与“保存”按钮的功能结合使用。(2)实现“修改”操作:当用户点击“修改”按钮时,允许用户修改当前界面上显示的记录的信息。该操作与“保存”按钮的功能结合使用。(3)实现“删除”操作:当用户点击“删除”按钮时,允许用户删除当前界面上选中的记录的信息。该操作与“保存”按钮的功能结合使用。程序具体代码见教材P210211,61,(4)实现“保存”操作:当用户点击“保存”按钮时,允许用户将之前的操作(添加、删除和修改)的结构保存到“xsxxglxt”数据库中的“T_SXB”表中。(5)实现“退出”操作:当用户点击“退出”按钮时,关闭当前界面,返回到上一层界面。程序具体代码见教材P210211,62,1实验内容实现前台界面与SQL Server 数据库的连接,添加代码实现“学生成绩管理系统”的“课程信息管理”部分的功能。2实验步骤第一步:设计“课程信息管理”主窗体,布局如图11-30所示,命名为frmkcxxgl。,11.2.3 实现课程信息管理,63,图11-30 课程信息管理界面布局,64,第二步:设置控件属性,具体步骤如下:(1)在“frmkcxxgl”窗体上放置一个Adodc控件、一个DataGrid控件、五个CommandButton控件、四个TextBox控件(构成一个控件数组),设计的窗体如图11-30所示。主要控件对象的属性见教材P212表11-8。本例中应先设置Adodc控件和DataGrid控件的属性,然后再设置其它控件的属性。,65,(2)设置ADOdc1的ConnectionString属性和设置RecordSource的属性的方法与“学生信息管理”界面的设置相同,可参照设置。设置完成后的界面如图11-31所示。第三步,使用代码来实现按钮的功能,该步骤同“学生信息管理”部分中的第三步基本相同,可参照完成设计。,66,图11-31“课程信息管理”运行界面,67,1实验内容实现前台界面与SQL Server 数据库的连接,添加代码实现“学生成绩管理系统”的“成绩信息管理”部分的功能。2实验步骤第一步:设计“成绩信息管理”主窗体,布局如图11-32所示,命名为frmcjxxgl。,11.2.4 实现成绩信息管理,68,图11-32 成绩信息管理界面布局,69,第二步,设置控件属性,具体步骤如下:(1)在“frmcjxxgl”窗体上放置一个Adodc控件、一个DataGrid控件、五个CommandButton控件、三个TextBox控件(构成一个控件数组),设计的窗体如图11-32所示。主要控件对象的属性见教材P214表11-9。本例中应先设置Adodc控件和DataGrid控件的属性,然后再设置其它控件的属性。,70,(2)设置ADOdc1的ConnectionString属性和设置RecordSource的属性的方法与“学生信息管理”界面的设置相同,可参照设置。设置完成后的界面如图11-33所示。第三步,使用代码来实现按钮的功能,该步骤同“学生信息管理”部分中的第三步基本相同,可参照完成设计。,71,图11-33“成绩信息管理”运行界面,72,1实验内容实现前台界面与SQL Server 数据库的连接,添加代码实现“学生成绩管理系统”的“学生成绩查询”部分的功能。2实验步骤第一步,设计“学生成绩查询”主窗体,布局如图11-34所示,命名为chaxun。,11.2.5 实现成绩查询,73,图11-34 成绩查询界面布局,74,第二步,设置控件属性,具体步骤如下:(1)在“chaxun”窗体上放置一个Adodc控件、一个DataGrid控件、两个CommandButton控件、一个TextBox控件,设计的窗体如图11-34所示。主要控件对象的属性见表11-10。(见教材P216),75,(2)设置ADOdc1的ConnectionString属性的方法同“学生信息管理”界面的设置。设置RecordSource的属性同“学生信息管理”部分基本相同,但在图11-35所示对话框中,在“命令类型”列表框中选择“8adCmdUnknown”,在“命令文本(SQL)”中输入“select*from VIEW_cj”,如图11-35所示。(3)设置表11-10中其它控件的属性,设置完成后,在VB环境中运行程序,可看到窗口如图11-36所示。,76,图11-35 成绩查询界面布局,77,图11-36 成绩查询界面运行界面,78,图11-37 显示查询结果,79,第三步,使用代码来实现按钮的功能,具体步骤如下:(1)实现“查询”操作:当用户点击“查询”按钮时,可在界面中显示满足查询条件的记录。(2)实现“退出”操作:当用户点击“退出”按钮时,关闭当前界面,返回到上一层界面。具体代码见教材P217页,80,1实验内容实现系统“退出”功能。2实验步骤当用户点击水平主菜单“退出”菜单项时,退出系统。实现代码如下:Private Sub quit_Click()EndEnd Sub至此完成“学生成绩管理系统”的设计、编程。通过一个最基本、最简单的信息管理系统的设计,应能融会、贯通SQL Server 2000的应用设计方法。,11.2.6 实现系统退出,