窗体学生管理系统(包含7个类 连接数据库)
第1讲_Win三层架构数据库应用开发入门_2

3数据库连接在接下来的讲义中使用前面创建的DBS数据库,结合几个具体的应用项目来一步步讲解Win三层架构数据库应用开发技术,直到基于三层架构的学生信息管理系统的开发。
完成这些示例是在“ChA1_Win三层架构数据库应用开发入门”解决方案中实现的,共包括7个应用程序和4个类库,源代码参见:???。
在本节中介绍如何使用C#语言通过连接数据库,还要介绍如何将链接字符串放在配置文件中,便于应用程序生成后直接修改配置文件就可更改链接的服务器。
将链接字符串暴露在XML格式的配置文件中,就没有安全性可言了,所以,还要介绍如何将连接字符串加密后放在配置文件中。
3.1生成连接字符串连接字符串是一串很长的字符串,其中包括:数据库服务器(数据源)、初始数据库以及身份验证方法说明,不便记忆,也容易出错。
我们可以利用Visual Studio平台自带的工具生成链接字符串。
选择菜单“工具 > 连接到数据库”,如下图。
弹出“添加连接”对话框,这时有两种身份验证方法选择(Windows身份验证和 SQL Server身份验证)可选,服务器在本机的开发一般选择Windows身份验证,如下面两个图。
“服务器名”可以选择,也可以用户输入,当选择SQL Server 身份验证时,还需要输入登录的用户名和密码,这里的“sa”是个系统管理员用户名,然后输入或选择一个你要连接的数据库,如:DBS ,再点击“测试连接”,若提示“测试成功”表示连接正确,否则,表示哪个参数不正确,很可能是服务器名不正确。
若测试成功后,点击“确定”按钮,在“服务器资源管理器”的“数据连接”中就会出现刚才建立的数据库连接,如下图,打开数据库连接,还可以看到数据库的各个对象,如:表、视图等。
鼠标右击数据为连接对象,选择“属性”菜单项,如下图。
选择“属性”菜单后,就会显示属性窗口。
在属性窗口中显示了该连接的属性,其中包括连接字符串。
下图显示两种不同身份验证的连接字符串。
学生信息管理系统制作步骤

学生成绩查询模块完成图
五.切换面板模块制作
选择【工具】|【数据库实用工具】|【切换面 板管理器】命令,如果是第一次创建切换面板 窗体,就会自动打开如下图所示警告对话框。 单击该对话框的【是】按钮,即可打开【切换 面板管理器】对话框。
五.切换面板模块制作
点击编辑按钮,弹出如下对话框,可定义切换 面板名称
2. 充实表内容
3.创建成绩表
4.创建学生基本信息表、课程表、成绩表 的关系
5.创建学生选课窗体---使用向导创建窗
体,依据成绩表中的学号和课程号字段
6.全部完成后如下图
三. 教师成绩录入模块制作
难点:建立主窗体和子窗体的联动
这里存在两个问题: 1). 如何把主窗体中课程号组合框和专业文本框 的内容作为子窗体(准确地讲,应该是子窗 体对应的查询“根据专业和课程号查询”) 的输入参数 2). 如何通过“查询”按钮来执行子查询
学生信息管理系统制作步骤
学生信息管理系统包含模块
学生信息管理 学生选课 教师成绩录入 学生成绩查询 切换面板 登录窗体
一. 学生信息管理模块制作
1.创建学生基本信息表,字段设置如下图
2. 完善表内容
3. 新建窗体,创建方式及数据源选择如下:
4.创建完成后如下图
二. 学生选课模块制作
1.创建课程表,字段设置如下
六. 登录窗体模块制作
需指出的是:Text1和Text3分别是用户名和密 码控件的名称,要显示的用户名和密码可自行 规定,代替“fiona”和“123” 设置密码的输入掩码---右键点击密码属性, 数据 输入掩码 密码,如下图显示
更改控件名称---右键点击属性,更改专业控件 名称为专业,课程号控件名称为课程号
数据库课程设计_学生成绩管理系统

1。
概述1.1 简单介绍本系统实现的内容该学生成绩管理系统,实现简单的密码修改、成绩查询、课程查询、学生查询等操作,并能实现简单的数据统计。
此系统主要完成用户密码登录、用户密码的修改、成绩查询、课程查询、学生查询、具体成绩查询等基本功能.(一)用户密码登录:在登录程序之前会先弹出一个登录对话框,在正确的输入了数据库中存储的用户和密码后才能登录程序.(二)用户密码的修改在成功登录了程序之后用户可以根据自己的需要修改当前密码.(三)成绩查询1。
成绩修改前选中要修改的成绩信息,然后进行修改。
2.成绩添加直接弹出添加对话框,然后进行添加。
3.成绩删除前选中要删除的成绩信息,然后直接删除。
(四) 课程查询1。
课程修改实现对课程名、学时、学分的修改。
2.课程添加对一门新开设的课程进行录入,并存入数据库。
3。
课程删除对一门不再开设的课程进行删除,并从数据库中删除。
(五)学生查询1。
学生信息修改修改选中当前学生的信息。
2。
学生信息添加增加新学生的信息。
3。
学生信息删除删除选中当前学生信息。
1。
2 开发环境简介1)Microsoft visual c++ 6。
0Visual C++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出Visual C++1。
0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具.Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。
Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具. 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。
2)Microsoft SQL Server 2000和与系统相关的SQL 语言介绍数据定义DDL(data definition language)数据定义语言是指对数据的格式和形态下定义的语言,他是每个数据库要建立时候时首先要面对的,举凡数据分哪些表格关系、表格内的有什么栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的.2。
学生信息管理系统

学生信息管理系统1.数据库结构的实现1)创建系统用户表格user_infoCREATE TABLE [dbo].[user_info] ([user_ID] [char] (10) COLLATEChinese_PRC_CI_AS NOT NULL,[user_PWD] [char] (10) COLLATEChinese_PRC_CI_AS NULL ,[user_DES] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,) ON [PRIMARY]2)创建学生基本信息表Student_infoCREATE TABLE [dbo].[ Student_info] ([student_ID] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,[student_Name] [varcharchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,[student_Sex] [char] (2) COLLATEChinese_PRC_CI_AS NULL ,[born_Date] [datetime] COLLATEChinese_PRC_CI_AS NULL ,[ClassName] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,[Telephone] [char] (20) COLLATEChinese_PRC_CI_AS NULL ,[Enroll_date] [datetime] COLLATEChinese_PRC_CI_AS NULL ,[Address] [varchar] (50) COLLATEChinese_PRC_CI_AS NULL ,[comment] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,) ON [PRIMARY]3)创建课程基本信息表Course_infoCREATE TABLE [dbo].[course_info] ([course_NO] [varchar](10) COLLATEChinese_PRC_CI_AS NOT NULL,[course_Name] [char] (20) COLLATEChinese_PRC_CI_AS NULL ,[course_Type] [char] (20) COLLATEChinese_PRC_CI_AS NULL ,[course_credit] [int] COLLATEChinese_PRC_CI_AS NULL ,[course_des] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,) ON [PRIMARY]4)创建选课成绩信息表Student_course_infoCREATE TABLE [dbo].[student_course_info] ( [student_ID] [varchar](10) COLLATEChinese_PRC_CI_AS NOT NULL ,[course_NO] [varchar](10) COLLATEChinese_PRC_CI_AS NOT NULL ,[score] [int] COLLATE Chinese_PRC_CI_AS NULL ,) ON [PRIMARY]2.学生信息管理系统主窗体的创建1)创建工程项目Student_MIS2)创建学生信息管理系统主窗体3)创建公用模块在“工程资源管理器”中添加一个Module,保存为Module1.bas,其程序如下:Public username_OK As String '记录登录用户名'定义连接字符串函数Public Function ConnectString() As StringConnectString ="Provider=SQLOLEDB.1;Password=sa;User ID=sa; "+"Initial Catalog=pubs; Data Source =127.0.0.1"'设置SQL Server2000数据库链接字符串,此字符串可保存在目录文件中End Function'ExecuteSQL函数执行SQL语句,返回结果集Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) _As ADODB.RecordsetDim cnn As ADODB.ConnectionDim rst As ADODB.RecordsetDim sTokens() As StringOn Error GoTo ExecuteSQL_ErrorsTokens = Split(SQL)Set cnn = New ADODB.Connectioncnn.Open ConnectStringIf InStr("INSERT,DELETE,UPDATE,EXECUTE", UCase$(sTokens(0))) Thencnn.Execute (SQL)MsgString = sTokens(0) & " query successful"ElseSet rst = New ADODB.Recordsetrst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimisticSet ExecuteSQL = rstMsgString = "查询到" & rst.RecordCount & "条记录 "End IfExecuteSQL_Exit:Set rst = NothingSet cnn = NothingExit FunctionExecuteSQL_Error:MsgString = "查询错误: " & Err.DescriptionResume ExecuteSQL_ExitEnd Function3.系统用户管理模块的创建1)用户登录窗体设计当用户输入完用户名和用户密码后,单击“确定”按钮将对用户输入的信息进行判断。
《数据库原理及应用》填空题库

DBMS的意思的【1】。
数据库管理系统
【1】是指系统开发人员利用数据库系统资源开发的面向某一类应用的软件系统。
数据库应用系统
数据库系统的主要特点为:实现数据【1】,减少数据 【2】,采用特定的【3】,具有较高的数据 【4】,具有统一的数据控制功能。
共享
冗余
数据模型
独立性
实体之间的对应关系称为 【1】,它反映现实世界事物之间的相互关联。
Web转换
Access提供的数据访问页的三种视图分别是【1】视图【2】视图和【3】视图.
设计
页面
Web页预览
要想浏览、输入、编辑和删除记录,必须在【1】视图或【2】视图中进行.
设计
页面
在Access中启动IE视图的方法是单击【1】菜单的【2】项.
文件
Web页预览
要添加或修改数据访问页的页面标题,应该在【1】地方进行.
窗体是数据库中用户和应用程序之间的【1】,用户对数据库的任何操作都可以通过它来完成.
接口
利用向导建立选项组,选项组的样式有【1】种.
5
记录选定器位于窗体视图的【1】设置,单击他会选中【2】记录.
下方
指定
按功能可将窗体分为【1】、【2】和【3】三种不同类型.
数据操作窗体
控制窗体
信息交互窗体
使用"自动创建窗体"功能可以快速创建基于单表或查询的窗体,要想创建基于多表的窗体,可以使用【1】或在【2】视图中进行.
Like "张*"□like "张*"
若"姓名"和"地址"是表中的字段名,表达式:姓名 Like "王*" And 住址 Like "北京*" 表示【1】意思.
《Access(2010版)》 上机实验1-上机实验9题目

附录2上机实验附录2.1 上机实验11.启动“MicroSoft Office Access 2010”,单击“文件”选项卡上左侧窗格的“帮助”,单击中间窗格上的“MicroSoft Office帮助”,便显出“Access帮助”窗口。
单击该帮助窗口中的“Access 2010入门”标题下的“Access 2010数据库设计基础”,便可选看列出的“数据库设计基础”的那些内容。
2.启动“MicroSoft Office Access 2010”,单击“文件”选项卡上左侧窗格的“帮助”,单击中间窗格上的“MicroSoft Office帮助”,便显出“Access帮助”窗口。
单击该帮助窗口中的“Access 2010入门”标题下的“Access 演示”,显出“演示”的主题列表,单击主题列表中的“演示:认识导航窗格”,便可进行观看。
同理,可查看其他的Access帮助信息。
附录2.2 上机实验21.在用户盘的根目录中(如G:\)创建一个名为“上机实验”文件夹。
2.在“上机实验”文件夹中创建一个名为“学生管理系统.accdb”的数据库。
3.在“学生管理系统”数据库中创建如下的表:295296(1)根据表3-2所示的“学系”表结构,创建一个表名为“学系”的表,主键是“学系代码”。
“学系”表中包含学系代码、学系名称、办公电话、学系简介和学系资料等字段。
表3-2 “学系”表结构(2)根据表3-3所示的“专业”表结构,创建一个表名为“专业”的表,主键是“专业代码”。
“专业”表中包含专业代码、专业名称、学制年限、学系代码和专业简介字段。
表3-3 “专业”表结构(3)根据表3-4所示的“班级”表结构,创建一个表名为“班级”的表,主键是“班级号”。
“班级”表中包含班级号、班级名称、年级、专业代码,班主任和联系电话字段。
表3-4 “班级”表结构(4)根据表3-5所示的“学生”表结构,创建一个表名为“学生”的表,主键是“学号”。
数据库课程设计-学生管理系统
成绩:__________《数据库原理及应用》课程设计课题数据库课程设计之学生管理系统班级学号姓名指导教师2012 年 6 月 25 日—2012年 6 月 29 日前言 (3)概述 (3)项目背景 (3)编写目的 (3)定义 (4)开发环境 (4)需求分析 (5)问题陈述 (5)功能需求 (5)运行需求 (5)数据流图 (6)存储说明 (9)数据字典 (10)概念结构设计 (14)逻辑结构设计 (17)软件功能设计 (22)代码设计和界面设计 (25)小结................................................................................................ 错误!未定义书签。
参考文献........................................................................................ 错误!未定义书签。
附录................................................................................................ 错误!未定义书签。
网络的兴起和巨大发展对人们的生活方式产生了深远的改变,通过互联网络,人们获得了一个更加便捷更加广阔的获取有用信息的途径,人们可以足不出户坐在电脑前便可以做很多事情。
而数据库系统的不断发展与完善,则让互联网络在人们生活中的应用如虎添翼,因为随着越来越多的人认识到WEB网络给我们日常生活带来的巨大便利,WEB 应用的用户也在爆炸式增长,在方便我们生活的同时,许多问题也接踵而至,越来越庞大的数据量让工作人员不堪重负,无论在建立数据库和维护数据库方面,近几个月来,CSDN、天涯等知名IT企业相继出现数据库信息泄露事件向我们昭示了数据库安全方面所面临的严峻挑战。
信息系统数据库 学生基本情况系统
学生基本情况子系统一、实验目的通过理论与实践教学,使学生掌握关系型数据库的基本操作,理解关系型数据库的有关概念,具备一定的数据库结构设计的能力,并能综合运用所学知识,进行小型数据库应用系统的开发工作。
二、实验环境计算机硬件配置:SONY VGN-CS23H,Intel Pentium T4200操作系统:Windows 7开发环境:Microsoft Office Access 2007三、实验内容基于Microsoft office Access 2007环境,建立学生基本情况子系统系统数据库,建立相应的表、查询、窗体、报表来实现数据录入、数据编辑、数据查询、数据输出、等基本功能。
此学生基本情况子系统中共包含了四张表,分别是学生基本情况表、班级表、班主任表和院系表。
输入用户名和密码登陆数据库后,即可进入学生基本情况窗体,在这里可以看到此数据库中所有学生的基本信息,并可以进行添加、查找、删除、修改、打印学生信息等操作,通过“其他操作”按钮,可以分别打开班主任表、院系表和班级表,进行添加、查找、删除、修改等相应操作。
四、数据库设计1.数据模型的设计(E-R)模型2.基本数据表和联系的实现初始关系模式:学生基本情况(学号,姓名,出生年月,班级编号,政治面貌,家庭住址,联系电话,身份证号,照片)班级表(班级编号,院系编号,班主任号,班级名)班主任表(班主任号,班主任姓名,联系电话)院系表(院系编号,院系名称,联系电话)基本数据表:1、学生基本情况2、班级表3、班主任表4、院系表各数据表的关系:五、系统实现 1.添加记录2.查找记录3. 删除记录4.修改记录5.登陆窗体6.学生基本情况管理系统窗体7.其他操作窗体8.班主任表操作窗体9.院系表操作窗体10.班级表操作窗体11.系统用户添加窗体12. 班级报表13.系统用户报表14. 班主任报表15.学生基本情况报表16.院系报表六、程序运行、调试和结果分析1.程序运行中出现的问题及调试手段(包括异常处理)在制作登陆界面时,登陆功能要求和系统用户表连接,设计完成后发现如果输入用户名密码正确时可以正常登陆,但是如果密码错误,无法提示用户密码错误,而是直接进入要求用户进行vb代码调试,于是在登陆按钮的代码中进行了修改,删除了txt密码=””语句修改后的代码如下:Private Sub 登陆_Click()If IsNull(用户名) = False Then用户名.SetFocusIf DLookup("[密码]", "系统用户", "[用户名]=""" & 用户名.Text & """") = 密码Then DoCmd.CloseDoCmd.OpenForm "学生基本情况"Else密码.SetFocusMsgBox "密码错误!", vbCriticalEnd IfEnd IfEnd Sub修改后当密码错误时,运行结果为:另外,进入对学生基本情况进行删除操作时,可以随意的对其中的数据进行修改,这样很不利于数据的维护和安全,所以可能会造成数据的错误程度。
电子教案Access基础教程第二版课件
2.1.3 数据模型
数据模型有三个基本组成要素:数据结构、数 据操作和完整性约束。 1.层次模型 :是用树形结构来表示数据间的从属关系结 构 2.网状模型:是层次模型的扩展, 3.关系模型 :用二维表格结构来表示实体及实体间联 系。 4.面向对象数据模型 对象与对象标识 类 事件
关系模型的基本术语
10.2.2 数据库的结构设计
高校教学管理系统的E-R图(属性略)。
m
n
n
课程设置表
讲授
教师档案表
属于
1 院系表
m
n
1
m
选课
成绩
属于
属于
n n
1
n
学生档案表
专业表
10.3 系统功能概述
• 启动Access 2000,首先出现的是登录窗体。 • 启动系统后,填写操作员编号和密码,单
击“确定”按钮,登录到系统。 • 在菜单栏中包含院系管理、教师档案、学
关系名(属性1,属性2,…,属性n)
2.1.4关系数据库系统
1、关系模型的组成 关系数据结构:关系模型中数据的逻辑结构是一
张二维表。 关系操作:关系操作采用集合操作方式,即操作
的对象和结果都是集合。关系模型中常用的关 系操作包括两类。 • 查询操作:选择、投影、连接、除、并、交、 差 • 增加、删除、修改 关系完整性约束:关系模型中的完整性是指数据 库中数据的正确性和一致性,包括实体完整性、 参照完整性和用户定义的完整性。
2.1.2 数据库的基本概念
• 数据:是数据库系统研究和处理的对象,本 质上讲是描述事物的符号记录。
• 数据库:是数据的集合,具有一定的组织形 式并被储存于计算机存储器上,具有多种表 现形式并可被各种用户所共享。
数据库课程设计--java+sql-server--学生管理系统
课程设计任务书题目:学生管理系统学姓专课号名业程信息科学与工程学院数据库技术与应用指导教师职称讲师完成时间:2011年06 月----2010 年07 月枣庄学院计算机科学系制目录1学生信息管理系统概述 (5)1.1系统的任务 (5)1.2系统的目标 (5)2系统具体需求分析 (6)2.1系统需求 (6)2.2数据字典 (6)2.3数据流图 (10)3概念结构设计 (11)4.逻辑结构设计 (14)5.物理结构设计 (15)表汇总 (15)表A—F (16)6.数据保护设计 (18)6.1防止用户直接操作数据库的方法 (18)6.2用户帐号密码的加密方法 (18)6.3角色与权限 (18)7.运行管理与维护说明 (19)8.SQL语句及部分关键JAVA语句 (20)9.心得与体会 (29)8.参考资料 (29)课程设计任务书及成绩评定课程设计的任务和具体要求数据库应用课程设计是计算机技术专业重要的实践课程之一,是在掌握程序设计语言的基础上,学习《数据库原理》课程后的一次综合实践练习。
通过本课程设计,将在课堂上了解和掌握的数据库原理以及设计阶段的方法与技术,直接运用到实际系统的开发工作中。
并且在项目小组长及成员间的合作和沟通中,体验软件项目管理技能和方法,熟悉软件工具与环境。
本次课程设计要求我们小组成员间加强团队合作和沟通,同时每个成员承担明确的责任,独立按时完成相应任务;按照模版完成相应的文档,语言简洁、通顺,开发的系统功能符合需求规格,并能够准确、稳定地运行。
日期:指导教师签字:指导教师评语成绩:指导教师签字:日期:需求分析:1、学生信息管理系统概述学生信息管理系统主要用来管理学生基本信息。
本系统是一个简单的学生信息管理系统,系统管理的信息主要是学生基本信息、课程信息和学生选课信息。
系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。
1.1 系统的任务学生信息管理系统是学校有效管理学生的重要工具,它的任务主要有以下几项:◆◆◆◆◆学生基本信息管理,主要负责管理学生基本信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1) 首先确定学生管理系统的用户。 (2) 学生管理系统的用户基本分为两类,分别是老师和学生。不管是哪种用户都是必须经过登录才能进入学生管理系统的,所以该系统必须有一个登录界面,并且在该界面中能够让用户选择用户是老师还是学生。该系统是不会对外开放的,所以也不存在注册界面。 (3) 因为用户分为两种,所以每一种用户进行操作的界面应该是不同的。首先是学生界面,在其中应该只有查询成绩和个人信息查询和插入。主要来学习如何进行学生界面开发。 (4) 除了学生界面外,还要有一个老师界面。老师在老师界面中可以对学生信息进行管理,包括查询、修改和删除。同样也可以对学生的成绩进行管理,包括查询和插入,由于输入错误还要能够对学生的成绩进行修改,由于学生作弊还能够将学生的成绩进行删除。 (5) 首先数据库中应该有老师和学生这两个表,表中应该最少有用户名和密码两项,使用表中的这两项就可以进行登录。在学生表中还应该具有一些和学籍相关的信息,包括年龄、班级等内容,这样就可以在系统中对学生信息进行操作。 (6) 除此之外还需要一个成绩表,通过该表老师可以对学生的成绩进行查询、插入、修改和删除。学生也可以通过该表对自己的成绩进行查询。 (7) 不管是老师和学生进入学生管理系统都是从登录界面进入的。在登录界面中应该是让用户选择自己身份的,然后系统将根据用户的选择来判断用户的身份并进行查询不同的数据库。 (8) 对界面设计好基本形式后,就可以进行程序开发。首先要定义两个标签和两个文本框,分别来表示用户名和密码。并且还需要定义一个下拉列表让用户来进行身份选择,其中选项包括“学生”和“老师”。在程序的最后还定义了两个按钮,从而让用户输入用户名和密码后进行登录。 (9) 在学生界面中,学生可以对自己的信息进行查询,在第一次登录时还可以对自己的信息进行插入,并且学生能够查询自己的成绩。 (10) 因为学生要完成对信息和成绩的操作,所以这里的设计是在界面中定义两个菜单,分别进行信息和成绩的操作。因为对信息的操作包括插入和查询,所以还需要在信息菜单下定义“插入”和“查询”两个子菜单。 (11) 对界面进行设计后,就可以进行程序开发。同样首先是创建一个窗口,在窗口中要创建两个菜单,并且在信息菜单下还要创建“插入”和“查询”两个子菜单。 (12) 在学生界面中单击“信息”菜单下的“插入”子菜单,就会进入学生插入界面,在该界面中学生可以输入自己的信息。 (13) 学生第一次插入信息后,老师是可以对学生的信息进行修改和删除的。除此之外,学生还可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单,单击该菜单就触发事件,从而进入查询学生信息界面。 (14) 在学生界面中还有一个“成绩”菜单,在学生的界面该菜单下只有一个“查询”子菜单。单击“查询”子菜单,将触发事件,进入到查询成绩界面。
(15) 陆界面 import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.sql.*;
public class Systems extends JFrame implements ActionListener { static Systems ss; JPanel panel = new JPanel(); JLabel label1 = new JLabel("输入姓名:"); JTextField name = new JTextField(); JLabel label2 = new JLabel("密 码:"); JPasswordField pwd = new JPasswordField(); JButton Enter = new JButton("登录"); JButton Exit = new JButton("退出"); String url = "D:\\Systems\\title.jpg"; ButtonGroup bgp = new ButtonGroup(); JRadioButton stu = new JRadioButton("学生"); JRadioButton tch = new JRadioButton("教师");
public Systems() { super("登录系统"); this.setResizable(false); JLabel img = new JLabel(new ImageIcon(url)); img.setBounds(0,0,500,100); panel.add(img); stu.setBounds(165,210,70,20); tch.setBounds(265,210,70,20); bgp.add(stu); bgp.add(tch); panel.add(stu); panel.add(tch); Enter.setBounds(150,250,80,20); Exit.setBounds(270,250,80,20); Enter.addActionListener(this); Exit.addActionListener(this); panel.add(Enter); panel.add(Exit); panel.setLayout(null); this.add(panel); label1.setBounds(135,130,100,25); panel.add(label1); name.setBounds(265,130,100,25); panel.add(name); label2.setBounds(135,165,100,25); panel.add(label2); pwd.setBounds(265,165,100,25); panel.add(pwd); this.setBounds(100,100,500,350); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
public void actionPerformed(ActionEvent e) { if(e.getSource()==Enter) { String username , password; username = name.getText(); password = pwd.getText(); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException ce) { JOptionPane.showMessageDialog(ss,ce.getMessage()); } if(stu.isSelected()) { try { Connection con = DriverManager.getConnection("jdbc:odbc:sysdb","sa",""); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select * from STU"); while(rs.next()) {
if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(password))) { JOptionPane.showMessageDialog(ss,"登陆成功"); Students stu = new Students(); } else { JOptionPane.showMessageDialog(ss,"登录失败"); } } rs.close(); stmt.close(); } catch (SQLException se) {
JOptionPane.showMessageDialog(ss,se.getMessage()); } } else if(tch.isSelected()) { try { Connection con = DriverManager.getConnection("jdbc:odbc:systchdb","sa",""); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select * from TCH"); while(rs.next()) {
if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(password))) { JOptionPane.showMessageDialog(ss,"登陆成功"); } else { JOptionPane.showMessageDialog(ss,"登录失败");
} } } catch (SQLException se) {
JOptionPane.showMessageDialog(ss,se.getMessage()); } } } else