ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:215.21KB ,
资源ID:4703639      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4703639.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库设计实验报告.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库设计实验报告.docx

1、数据库设计实验报告学号: 0906410230 数据库 课程设计报告2011年 秋 季学期学 院: 信息与控制工程学院 专业班级: 计算机09-2班 姓 名: 常乐杰 设计日期: 2011年12月 26日12月30日 课程设计成绩: 评 阅 教 师: 评 阅 日 期: 目录目录 11.问题描述 21.1背景 21.2数据需求 21.3事务需求 22.解决方案 22.1 E-R模型设计 22.2 设计数据库 42.2.1创建数据库 42.2.2创建数据表 42.2.3连接数据库 42.3主窗体设计 52.3.1设计登录界面 52.3.2添加数据组件 52.3.3生成数据集 52.3.4设计代码

2、62.4信息 62.4.1设计显示界面 62.4.2添加数据组件 62.4.3功能实现 72.5其他功能的实现 72.5.1设计修改密码功能 72.5.2退出功能的实现 72.5.3注册功能的实现 73.系统实现 73.1开发环境 73.2系统流程图 73.3程序调试情况 83.4 功能显示 83.5 结论 114.结束语 11附录:源代码清单 12附1.1主窗体设计代码如下: 12附1.2显示课程名称设计代码如下: 13附1.3用户注册窗体设计代码 16附1.4修改密码窗体设计代码 18附1.5用户登录设计代码如下: 201.问题描述1.1背景本系统利用VB.NET处理数据库的功能,实现对学

3、生课程的管理。主要功能为管理学生信息、课程信息。本系统的结构分为注册模块、登录模块、用户信息修改模块、课程信息管理模块。1.2数据需求根据系统的需求,首先将要记录的信息分类,要记录的信息如下。(1)用户信息:包括用户ID、用户名、密码、用户角色等。(2)课程信息:包括课程号、课程姓名、先行课等。根据这些需要,本系统需要“用户信息”表,“课程信息”表。1.3事务需求(1)在登录模块部分,要求如下。可以输入用户信息进入系统。可以增加新的用户。可以对指定用户进行注销操作。(2)在用户信息修改模块部分,要求如下。必须事先通过用户名和密码进入系统。可以对用户信息进行修改操作。(3)在课程信息管理模块部分

4、,要求如下。可以浏览课程信息。可以对课程信息进行维护,包括添加、修改及删除等操作。2.解决方案2.1 E-R模型设计该系统的E-R模型如图1所示。(1)用户实体属性图图2-1用户信息图(2)课程实体属性图图2-3课程基本信息图(4)合并E-R图图1 简单学生课程管理系统E-R模型2.2 设计数据库2.2.1创建数据库(1)在服务器资源管理器中的任一节点右击。(2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”对话框中输入数据库名0906410230,选中“使用WindowsNT集成安全性”单选按钮。(3)单击“确定”按钮,则新建的数据库就会出现在服务器上。2.2.2创建数据表创建

5、数据库后,为0906410230数据库添加数据表,步骤如下。(1)在服务器资源管理器中右击数据库0906410230下的“表”文件夹。在弹出的快捷菜单中执行“新建表”命令,出现表设计器。(2)添加表的字段和其他详细资料。各表数据结构如表1所示。用户信息表Users表结构:课程信息表Books表结构:2.2.3连接数据库为数据库0906410230和本系统之间建立一个数据连接。(1)在服务器资源管理器中右击“数据连接”节点。在弹出的快捷菜单中执行“添加连接”命令,打开Data Link Properties对话框。切换到Provider选项卡,选中列表框中的Microsoft OLE DB Pr

6、ovider for SQL Server项。单击“下一步”切换到Connection选项卡。(2)在其中的第一个下拉列表框中选择数据库所在服务器名称。输入登录服务器信息后选择数据库0906410230,然后单击Test Connection按钮。如果测试成功,单击“确定”按钮。2.3主窗体设计创建一个新的“Windows应用程序”类型的项目,名为“学生课程管理”。将默认创建的窗体命名为“学生课程管理系统”,把“学生课程管理系统”作为本系统中的主界面。在窗体中添加两个Pannel控件,更换背景。2.3.1设计登录界面设计登录界面创建一个新的”Windows窗体”,名为Login,作为本系统的登

7、录界面.在Login窗体上添加三个Label控件,三个Button控件、两个TextBox控件和一个comboBox控件,添加控件后的窗体如图所示。2.3.2添加数据组件在工具箱中单击“数据”选项卡,添加OleDbDataAdapter组件。(1)在工具箱中单击OleDbDataAdapter组件,在窗体任意位置拖动出一个虚框矩形后释放左键弹出“数据适配器配置向导”对话框。(2) 单击“下一步”,在打开的对话框中选择前面建好的数据连接,然后单击“下一步”。(3)选中“使用SQL语句”,然后单击“下一步”进入“生成SQL语句”对话框。(4)在其中的多行文本框直接输入SQL语句“SELECT 管理

8、者信息.* FROM 管理者信息”。(5)单击“下一步”按钮,进入“查看向导结果”,单击“完成”按钮完成数据适配器配置。配置数据适配器后,在主窗体上就会自动添加一个OleDbConnection控件。2.3.3生成数据集生成数据集的步骤如下:(1)单击OleDbDataAdapter控件“属性”对话框中的“生成数据集”链接,打开“生成数据集”对话框。(2)在其中选中“新建”单选按钮,并在其后面的文本框中输入“Lib用户信息”。(3)在“选择要添加到数据集中的表”列表框中列出了前面添加的OleDbDataAdapter组件所连接的表,选中该表名前面的复选框。(4)选中“将此数据集添加到设计器”复

9、选框,单击“确定”按钮这样,将生成一个名称为“Lib用户信息”的数据集,该数据集以文件形式存储,文件名为“Lib用户信息.xsd”。而在项目中,添加了一个DataSet组件,名为“objLib用户信息”。在解决方案资源管理器中右击该项目,在弹出快捷菜单中单击“属性”菜单项。在打开的“属性页”对话框中的“启动对象”下拉列表框中选择“学生课程管理系统”选项。单击“确定”按钮,这样该项目启动时,就会从主窗体开始启动。2.3.4设计代码在程序运行过程中,如果想通过单击LinkLabel控件或Button控件进入系统中的各个功能模块(如显示课程信息等),就会弹出一个对话框要求输入用户名和密码.单击确认按

10、钮,程序就会到数据库的用户信息表中查找该用户名和密码是否存在.如果存在,允许进入功能模块.完成登录功能的主要代码集中在UserCheck函数中.在程序运行过程中,在Login窗体的用户姓名和用户密码文本框中输入用户名和密码后,单击确认按钮就会触发UserCheck函数并执行其中的代码.如果UserCheck函数返回True,那么允许用户的操作;否则拒绝用户的操作请求.在UserCheck函数中首先定义Login类型的变量dlg_Login,然后通过ShowDialog方法来显示登录窗体.如果用户在登录窗体中输入用户姓名和密码,并且单击了确认按钮,那么自动调用一个自定义函数LoadDataSet

11、(),由此函数进行数据加载.如果出错,显示错误信息,回滚整个事务.具体设计代码见附录1.1。2.4信息在当前项目中添加一个“Windows窗体”,将窗体命名为“frmBookes”。2.4.1设计显示界面在窗体上添加1个GroupBox控件,2个Button控件。各按钮控件是为了执行相应的操作。Buttonx控件用来对数据集中的数据进行维护和修改。 2.4.2添加数据组件向窗体添加OleDbConnection组件,命名为OleDbConnection1后将其选中,在“属性”对话框的ConnectionString栏单击,选择所建数据库Library。添加OleDbDataAdapter组件和

12、生成数据集的方法步骤如2.3.2及2.3.3。设置各TextBox控件的DataBinding属性来实现对数据集中数据的显示(以“添加”为例)。(1)选中“添加”控件单击“属性”对话框。(2)单击DataBinding属性前面的+号打开该属性的详细列表。(3)设置Text属性:在该属性后面栏中单击并选择所对应字段。(4)设置其他TextBox控件的DataBinding属性。2.4.3功能实现显示数据,输入课程信息,添加课程信息。或者显示数据,选中课程,删除课程。具体实现代码见附1.2。2.5其他功能的实现2.5.1设计修改密码功能在程序运行过程中,单击主窗体的“开始”按钮,会出现修改密码和退

13、出两个选项。为此需要在项目中添加一个新的窗体“修改密码”。设置Label控件、Button控件、TextBox控件和comboBox控件。以完成修改密码功能。2.5.2退出功能的实现在程序运行过程中,单击主窗体的“开始”按钮,会出现修改密码和退出两个选项。单击退出可以直接退出学生课程管理系统。2.5.3注册功能的实现在程序运行过程中,首先出现登陆界面,在登陆界面的右下角有一个注册按键。为了实现“注册”Button控件的功能,需要添加一个新的窗体。设置三个Label控件、两个Button控件和三个TextBox控件以完成用户注册的功能。3.系统实现3.1开发环境本系统使用VisualBasic.

14、NET语言进行开发。需要Microsoft .NET Framework SDK v1.1的支持。适用内存不低于256M配备有Windows2000,Windows2003,WindowsXP系统的计算机。3.2系统流程图在本系统中准备通过如下窗体来实现相应的功能。 系统流程图3.3程序调试情况在数据连接时一定要注意窗体和相应显示控件的绑定关系。在把系统从一台计算机移植到另一台计算机时一定要把数据文件library.mdf和library_log.LDF同时移植,并对相应的提供服务的SQL Server服务器进行相应的修改,否则数据正确连接并显示。3.4 功能显示运行程序后首先显示登陆界面,如

15、图所示。点击注册按钮,会显示注册窗体,如下图所示:在注册显示窗体中,可以新建一个用户,并自定义用户名和密码。新用户信息将被保存在数据库的用户信息表中。点击取消,可以中断并取消新建用户的操作。在输入并确定完用户和密码后,点击注册按钮便完成了用户的注册。在输入用户名和密码并选择好用户身份后,可点击注销按钮来注销用户,起作用根本上是删除数据库中用户信息表中的相关信息。用户在正确的身份选择下,输入正确的用户名和密码,点击登录按钮可以进入学生课程管理系统。此次将显示学生课程管理系统的主界面,如下图所示:在此窗体界面上有两个操作选择,开始和查询。其中开始菜单下有修改密码和退出两个操作,查询菜单下有显示课程

16、信息的操作。将鼠标拖到查询,显示下拉菜单,点击显示课程名称,将出现一个名为frmBooks的新窗体,如下图所示:该窗体不仅可以显示当前的课程信息,还可以通过添加和删除操作对课程信息进行维护。关闭frmBooks窗口,回到主窗体即学生课程管理系统窗体。将鼠标拖到开始,显示下拉菜单,点击修改密码,会出现名为“密码修改”的新窗体,如下图所示:此窗体可以完成密码重置的功能,通过用户输入用户名和密码对用户什么进行验证,然后两次输入新密码以完成密码的重置。在信息输入完毕后,点击重置便完成了密码的修改,此功能通过改变数据库中用户信息表中的内容来改变密码,因此修改后数据库也会发生相应的改变。重置前若需要取消操

17、作,只需要点击取消按钮即可。需要的注意的是:在点击重置按钮后,不能再通过取消按钮来取消相关操作,若希望使用原密码,只能再次通过修改密码来还原。在完成了用户需要的操作后,程序会回到“学生课程管理系统”这个主窗体,若需要退出程序,可以点击窗体右上角的,或者通过开始下拉菜单里面的退出选项退出。3.5 结论在这个系统的开发过程中,值得注意的几点有:(1)本地数据库和服务器数据库的连接方式有所区别,在写程序是注意代码的实现。(2) 设计数据库的时候,要充分考虑日后使用过程中用户需求的改变,以便于数据库的后期维护。4.结束语通过做课程设计,有几点感想,经过整理如下。1. 扎实的基础。如果不掌握他们,很难写

18、出高水平的程序。而这一点又是我们所缺乏的。2. 不钻牛角尖。当遇到障碍的时候,暂时远离电脑,当重新开始工作的时候,也许会发现那些难题现在竟然可以迎刃而解。3. 多与别人交流。三人行必有我师。4. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。如果注释和代码不一致,那就更加糟糕。附录:源代码清单附1.1主窗体设计代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;namespace Library static class

19、 Program / / 应用程序的主入口点。 / STAThread static void Main() Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); /Application.Run(new frmLogin(); frmMainForm fmf = new frmMainForm(); /Application.Run(fmf); /fmf.Hide = true; frmLogin fl = fl = new frmLogin(); DialogResul

20、t dr = fl.ShowDialog(); if (dr = DialogResult.OK) fmf.UserRole = fl.UserRole; Application.Run(fmf); else if (dr = DialogResult.No) MessageBox.Show( User login information is error, the system will exit!); Application.Exit(); 附1.2显示课程名称设计代码如下:using System;using System.Collections.Generic;using System

21、.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Library public partial class frmBooks : Form SqlConnection sql_Conn; SqlDataAdapter adapter; DataSet dataset; /DataTable datatable; /DataRow dat

22、arow; public frmBooks() InitializeComponent(); public long LoginDatabase() long r = -1; / connect to the database string connectionString = server=localhost;database=0906410230;integrated security=SSPI; /string connectionstring = server=Fs;Database=0906410230;uid=sa;pwd=sa; sql_Conn = new SqlConnect

23、ion(connectionString); sql_Conn.Open(); if (sql_Conn.State = ConnectionState.Open) r = 0; return r; public void LogoutDatabase() if (sql_Conn.State = ConnectionState.Open) sql_Conn.Close(); private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) public void CoursesInf

24、o() try DataSet dsChanges = dataset.GetChanges(); if (dsChanges = null) return; DataTable dtTable = dsChanges.Tables0; DataRow drRows = dtTable.GetErrors(); if (drRows.Length = 0) int nRow = adapter.Update(dsChanges); dataset.AcceptChanges(); else string errorMsg = null; foreach (DataRow drRow in dr

25、Rows) foreach (DataColumn dcColumn in drRow.GetColumnsInError() errorMsg += drRow.GetColumnError(dcColumn) + n; MessageBox.Show(errorMsg, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); catch (System.Exception e) MessageBox.Show(e.Message, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); dataset.Re

26、jectChanges(); private void btnAddBooks_Click(object sender, EventArgs e) CoursesInfo(); private void btndeleteBooks_Click(object sender, EventArgs e) int cRow = dgvbooks.CurrentRow.Index; dgvbooks.Rows.RemoveAt(cRow); CoursesInfo(); private void frmBooks_Load(object sender, EventArgs e) LoginDataba

27、se(); adapter = new SqlDataAdapter(select * from Books, sql_Conn); dataset = new DataSet(); adapter.Fill(dataset); SqlCommandBuilder builder = new SqlCommandBuilder(adapter); adapter.InsertCommand = builder.GetInsertCommand(); adapter.DeleteCommand = builder.GetDeleteCommand(); adapter.UpdateCommand

28、 = builder.GetUpdateCommand(); dgvbooks.DataSource = dataset.Tables0; /dgvwords.Columns0.ReadOnly = true; dgvbooks.Columns0.DefaultCellStyle.BackColor = Color.LightGray; 附1.3用户注册窗体设计代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;usi

29、ng System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Library public partial class frmRegister : Form SqlConnection sql_Conn; SqlCommand sql_Comm; public frmRegister() InitializeComponent(); public long LoginDatabase() long r = -1; / connect to the databas

30、e string connectionString = server=localhost;database=0906410230;integrated security=SSPI; /string connectionstring = server=Fs;Database=0906410230;uid=sa;pwd=sa; sql_Conn = new SqlConnection(connectionString); sql_Conn.Open(); if (sql_Conn.State = ConnectionState.Open) r = 0; return r; public void LogoutDatabase()

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1