数据库应用系统的开发.DOC

上传人:国*** 文档编号:775335 上传时间:2018-10-31 格式:DOC 页数:23 大小:446KB
下载 相关 举报
数据库应用系统的开发.DOC_第1页
第1页 / 共23页
数据库应用系统的开发.DOC_第2页
第2页 / 共23页
数据库应用系统的开发.DOC_第3页
第3页 / 共23页
数据库应用系统的开发.DOC_第4页
第4页 / 共23页
数据库应用系统的开发.DOC_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、1数据库应用系统的开发一、实验目的:初步掌握数据库应用系统分析设计的基本方法;进一步提高分析与解决问题的综合能力;初步掌握数据库建模工具的使用方法;熟悉掌握C/S或B/S结构的数据库应用系统开发的整个过程。实验环境:操作系统:windows7 数据库管理系统: Microsoft SQL Server 2005系统设计与开发工具:Visual Studio 2008实验内容:二、需求说明:本设计的任务是学生选课系统的设计与实现,其中要实现,课程信息管理(录入、维护) ;学生信息管理(录入、维护) ;教师信息管理(录入、维护) ;选课管理(选课、退课、选课信息查询) ;教师输入成绩管理(所承担课

2、程学生成绩录入与维护功能) 。三、系统概要设计及概念数据模型(E-R图)设计本程序首先要有一个登陆界面,在登陆界面的要有输入用户账号,输入密码,并且选择登陆时用户名的类型,分为三种:管理员、教师、学生。当用户名的类型为管理员的时候,进入的是管理员界面,当进入管理员界面的时候,里面有三种选项,三种选项分别是:学生信息维护、教师信息维护、课程信息维护。当分别选择不同的选项的时候分别进入3种界面:学生信息维护界面、教师信息维护界面、课程信息维护界面。当用户名的类型为教师的时候,进入的是教师输入成绩的界面,该界面可以查找本教师所教的课程,并且修改所选该课程的学生的成绩。当用户名的类型为学生的时候,进入

3、的是学生选课的界面,该界面学生可以选课并且可以退课,并且可以查询该学生所选的课程。各界面的关系如下图:2本系统涉及的主要数据的 E-R 图4、系统详细设计及数据库表结构设计(一). 数据库表结构设计设计五张表:Admin表CREATE table admin(adminid char(9) primary key,adminname char(20) unique,adminpas char(10);Student表CREATE table student(学号char(9) primary key,姓名char( 20) unique,性别char( 2),出生时间datetime,所在系c

4、har( 20),班级char( 3),密码char( 10);3Teacher表CREATE table teacher(教师号 char(9) primary key,教师名 char(20) unique,所在系 char(20),密码 char(10);Course表CREATE table course(课程号 char(4) primary key,课程名 char(40) ,教师号 char(9),学分 float(53) ,课程简介 text,foreign key (教师号) references teacher(教师号);Score表CREATE table score(

5、学号 char(9) ,课程号 char(4) ,成绩 smallint,primary key(学号,课程号),foreign key (学号) references student(学号),foreign key (课程号) references course(课程号);数据库关系图如下:4(二).登陆界面的设计:1首先打开 Visual Studio 2008。2新建一个工程,工程名为:Login3在窗体上放置 Button 组件 Button1、Button2 ,Label 组件 Label1、Label2,TextBox组件 TextBox1、TextBox2 , RadioButt

6、on 组件RadioButton1、RadioButton2、RadioButton3 ,GroupBox 组件 GroupBox1。4设置 Button 组件的 name 属性:Button1 和 Button2 的 name 的属性分别为:btQueding、btQuxiao。5设置 Button 组件的 Text 属性: Button1 和 Button2 的 Text 的属性分别为:确定和取消。6设置 Label 组件的 name 属性:Label1 和 Label2 的 name 的属性分别为:lbName,lbPas。7设置 Label 组件的 Text 属性:Label1 和 L

7、abel2 的 Text 的属性分别为:学号和密码。8设置 TextBox 组件的 name 属性:TextBox1 和 TextBox2 的 name 的属性分别为:tbName 和 tbPas。9设置 GroupBox 的 name 属性:GroupBox 的 Text 的属性为:登陆类型。10设置 RadioButton 的 name 属性:RadioButton1 、RadioButton2、RadioButton3 的name 的属性分别为:rbAdmin 、rbStudent、rbTeacher。11设置 RadioButton 的 Text 属性:RadioButton1 、Ra

8、dioButton2、RadioButton3 的Text 的属性分别为:管理员、学生、教师。12设置 RadioButton 的 checked 的属性改为 True。13双击取消按钮:输入以下代码:close() ;14双击确定按钮:输入以下代码:string LJ = “server=.;database=myd;uid=sa;pwd=“;/建立连接SqlConnection conn = new SqlConnection(LJ);conn.Open();/读取所输入的用户名和密码SqlCommand comm = conn.CreateCommand();if (rbAdmin.Ch

9、ecked) string sql = “SELECT adminname,adminpas FROM admin WHERE(adminname=“ + tbName.Text + “)“;comm.CommandText = sql;SqlDataReader datar = comm.ExecuteReader();DateTime dt = new DateTime(2008, 1, 1);if (DateTime.Now = dt)MessageBox.Show(“程序已经过期,请联系开发商!“, “系统提示:“, MessageBoxButtons.OK, MessageBoxIc

10、on.Information);Close();/判断是否存在输入的用户5elseif (!datar.HasRows)MessageBox.Show(“用户名不存在,请重新输入!“);tbName.Focus();return;/读取数据库的内容,并与输入的进行比较;while (datar.Read()/判断用户输入是否正确if (datar“adminpas“.ToString().Trim() != tbPas.Text.Trim()MessageBox.Show(“用户密码不正确,请重新输入!“);tbPas.Focus();return;elseAdminLogin f2 = ne

11、w AdminLogin();f2.ShowDialog();Close();else if (rbStudent.Checked)string sql = “SELECT sno,spas FROM student WHERE(sno=“ + tbName.Text + “)“;comm.CommandText = sql;SqlDataReader datar = comm.ExecuteReader();DateTime dt = new DateTime(2008, 1, 1);if (DateTime.Now = dt)MessageBox.Show(“程序已经过期,请联系开发商!“

12、, “系统提示:“, MessageBoxButtons.OK, MessageBoxIcon.Information);Close();/判断是否存在输入的用户else6if (!datar.HasRows)MessageBox.Show(“用户名不存在,请重新输入!“);tbName.Focus();return;/读取数据库的内容,并与输入的进行比较;while (datar.Read()/判断用户输入是否正确if (datar“spas“.ToString().Trim() != tbPas.Text.Trim()MessageBox.Show(“用户密码不正确,请重新输入!“);tb

13、Pas.Focus();return;elseStudentLogin f3 = new StudentLogin();f3.ShowDialog();Close();else string sql = “SELECT tno,tpas FROM teacher WHERE(tno=“ + tbName.Text + “)“;comm.CommandText = sql;SqlDataReader datar = comm.ExecuteReader();DateTime dt = new DateTime(2008, 1, 1);if (DateTime.Now = dt)MessageBo

14、x.Show(“程序已经过期,请联系开发商!“, “系统提示:“, MessageBoxButtons.OK, MessageBoxIcon.Information);Close();/判断是否存在输入的用户elseif (!datar.HasRows)MessageBox.Show(“用户名不存在,请重新输入!“);7tbName.Focus();return;/读取数据库的内容,并与输入的进行比较;while (datar.Read()/判断用户输入是否正确if (datar“tpas“.ToString().Trim() != tbPas.Text.Trim()MessageBox.Sh

15、ow(“用户密码不正确,请重新输入!“);tbPas.Focus();return;elseTeacherLogin f4 = new TeacherLogin();f4.ShowDialog();Close();完成后的界面效果如下图所示.管理员登陆界面设计:1首先打开 Visual Studio 2008。2新建一个工程,工程名为:AdminLogin3在窗体上放置 MenuStrip 组件84在 MenuStrip 上设置三个菜单,菜单的 name 属性分别为:学生信息维护、教师信息维护、课程信息维护。5双击学生信息维护输入以下代码:StudentInfo si = new Studen

16、tInfo();si.ShowDialog();6双击教师信息维护输入以下代码:TeacherInfo ti = new TeacherInfo();ti.ShowDialog();7双击课程信息维护输入以下代码:CourseInfo ci = new CourseInfo();ci.ShowDialog();完成后的界面效果如下图所示.学生信息维护界面:1首先打开 Visual Studio 2008。2新建一个工程,工程名为:StudentInfo3在新建的项目 StudentInfo 中添加一个名为 SqlHelper.cs 的类,并打开此类,找到public static string

17、 CONNSTR = “Data Source=.;Initial Catalog=myd;User ID=sa;Password=“;并修改。4在窗体上放置数据显示工具 DataGridView。5设置 DataGridView任务,在选择数据源中,选择添加项目数据源,根据数据源配置向导来添加,和数据库名为 myd中的学生 表连接起来,添加成功时,选择数据源为studentBindingSource。6在窗体上放置 GroupBox组件 GroupBox1,RadioButton 组件RadioButton1、RadioButton2、RadioButton3,Label 组件Label1、

18、Label2、Label3、Label4、Label5、Label6,Button 组件Button1、Button2、Button3,TextBox 组件 TextBox1到 TextBox77设置 GroupBox的属性中的 Text:GroupBox1 的 Text中输入:查询条件。8设置 Button的属性中的 Text:Button1 到 Button5的 Text中分别输入:确认、返回、新增、存盘、删除。9设置 Button的属性中的 Name:确认、返回、新增、存盘、删除的 Name中分别输入:btnOK、btnCancel、butNew、btnSave、butDel。910设置

19、 Label的属性中的 Text:Label1 到 Label6的 Text中分别输入:学号、姓名、所在系、性别、出生日期、密码。11设置 RadioButton的属性中的 Name:RadioButton1 到 RadioButton3的 Name中分别输入:rbXh、rbXm、rbSzx。12设置 RadioButton的属性中的 Text:RadioButton1 到 RadioButton3的 Text中分别输入:学号、姓名、所在系。13设置 RadioButton1的属性中的 checked设置为 True。14设置 TextBox的属性中的 Name:TextBox1 到 Text

20、Box7的 Name中分别输入:tbSearch、tbXh、tbXm、tbSzx、tbXb、tbCsrq、tbMm。15分别双击确认、返回、新增、存盘、删除切换到代码窗口,输入代码,代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace mydpubli

21、c partial class StudentInfo : Formpublic StudentInfo()InitializeComponent();private bool Insert_flag = false;private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)Insert_flag = false;private void StudentInfo_Load(object sender, EventArgs e)/ TODO: 这行代码将数据加载到表“mydDataSet1.st

22、udent”中。您可以根据需要移动或移除它。this.studentTableAdapter.Fill(this.mydDataSet1.student);private void btnOK_Click(object sender, EventArgs e)if (tbSearch.Text.Length = 0)MessageBox.Show(“查询条件不能为空“, “系统提示:“, MessageBoxButtons.OK, MessageBoxIcon.Information);10return;int i;if (rbXh.Checked return;SqlConnection c

23、nn = new SqlConnection(“Data Source=.;Initial Catalog=myd;User ID=sa;Password=“);SqlCommand cmd = new SqlCommand();cmd.CommandText = “Student_Info_Search“;cmd.Parameters.Add(“SearchType“, SqlDbType.Decimal);cmd.Parameters.Add(“SearchText“, SqlDbType.VarChar, 50);if (rbXh.Checked)i = 0;else if (rbXm.

24、Checked)i = 1;else i = 2;cmd.Parameters“SearchType“.Value = i;cmd.Parameters“SearchText“.Value = tbSearch.Text.Trim();cmd.CommandType = CommandType.StoredProcedure;cmd.Connection = cnn;SqlDataAdapter sda = new SqlDataAdapter(cmd);tryDataSet ds = new DataSet();sda.Fill(ds);/填充数据集studentBindingSource.

25、DataSource = ds.Tables0; /将数据集显示出来/把查询出来的数据绑定到相关控件tbXh.DataBindings.Clear();tbXm.DataBindings.Clear();tbSzx.DataBindings.Clear();tbXb.DataBindings.Clear();tbCsrq.DataBindings.Clear();tbMm.DataBindings.Clear();tbXh.DataBindings.Add(“Text“, studentBindingSource, “sno“);tbXm.DataBindings.Add(“Text“,studentBindingSource, “sname“);tbSzx.DataBindings.Add(“Text“,studentBindingSource, “sdept“);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。