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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据库应用课程设计.docx

1、数据库应用课程设计 学生姓名专业班级学号题 目班级书库管理系统指导教师同组姓名主要内容班级书库管理系统主要实现个人书籍的管理,针对班级藏书太多,不容易集中管理分类的需求。实现的功能如下:(1)实现个人系统的登录。(2)实现书籍的显示,入库添加存储,查询,删除,统计,出借查询功能。(3)实现书库管理员的添加,删除,显示功能。(4)系统的退出。任务要求综合运用所学的数据库基本知识,采用一种前台开发工具,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。要求根据本课题设计出合理的数据结构,并实现书籍综合管理模块、管理员管理模块等其他功能模块。开发工具自选。1 需求分析现代科学技术突飞猛进的今天

2、,各种电子数码化产品如雨后春笋般被发明制造出来,其中就关于书籍的产品如可携带式电子书等等。但是相比于体积上更小,重量上更轻,数量上更多的电子式书籍来说,人们还是喜爱相对比较传统的纸制书籍。这就出现了一个问题,当一个书籍收藏家或有太多书籍的人想对如此众多的书籍进行管理时该怎么办?本次课程设计就是针对这个问题进行开发设计。针对上述问题,我设计了一个班级书库管理系统,目的是为了方便用户管理书籍。该系统主要包含了2个模块,书籍综合管理模块和管理员管理模块,书籍综合管理模块的功能包括:(1)入库,添加书籍加入数据库的书籍表。(2)删除,从书库中删除不存在,有错误的书籍。(3)显示,在操作界面的表中显示所

3、有已有的书籍。(4)查询,通过关键字查找书库中的书籍。(5)出借查询,通过出借号查询出借的书籍和出借人管理员操作模块的功能包括: (1)添加,添加管理员,并设置管理类别。(2)删除,删除已有的管理员。(3)修改,修改管理员的资料,包括用户名,密码,类别。(4)显示, 使用几个按钮在文本框中显示用户。此外,本系统还应包括一个登录模块和用户表连接。2 概要设计2.1数据库中的表。(1)BooK表,用来存储书籍信息。其实体型为:Book(BookName,BookNum,BookType,BookPub,BookBro);其中,BookNum(书号)为主键,其余的分别是BookName(书名),Bo

4、okNum(书类),BookPub(出版社),BooKBro(是否借出)。以下是Book表在数据库中的定义,包括各属性的数据类型和长度等。 表2-1 Book表列名数据类型长度允许空主键BookNameNvarchar50否是BookNumInt4是否BookTypeNvarchar50是否BookPubNvarchar50是否BookBroNvarchar50是否 (2)BookBro表,用来存储出借书籍数据,其实体型为: BookBro(BookName,BroName,BroNum,PhoneNum,BookNum); 其中,BroNum(出借号)为主键,BookName(书名),Boo

5、kNum(书号),,BroName(出借人) ,PhoneNum(出借人电话号码)。以下是BookBro表在数据库中的定义。 表2-2,BookBro表列名数据类型长度允许空主键BroNumInt4否是BookNameNvarchar50是否PhoneNumNvarchar50是否BookNumInt4是否BroNameNvarchar50是否(3)User表,用来存储用户信息,其实体型为:User(UserID,UserPassword,UserSort);其中UserID(用户名)为主键,UserPassword(用户密码),UserSort(用户类型) 以下是User表在数据库中的定义。

6、 表3-3, User表列名数据类型长度允许空主键UserIDChar10是否UserPasswordChar10否是UserSortChar10否是2.2程序流程图和各模块功能分布:图2-1,程序流程图和各功能分部图 图2-2,E-R图3 运行环境软件:Windows XP操作系统。硬件:微机,CPU P4 2.8HZ。 1G内存,80G硬盘和128M显卡。4 开发工具和编程语言开发工具:visual ,SQL2005。编程语言:面向数据库C#语言。5 详细设计(1)登录界面设计: 图5-1,登录界面登录界面实现代码:namespace library.cs public partial c

7、lass LoginForm : Form public LoginForm() InitializeComponent(); /窗体代码设计必备 public void ErrorHandle(System.Exception E) MessageBox.Show(E.ToString(); /调用异常处理 private void button2_Click(object sender, EventArgs e) this.textUserID.Text = ; this.textUserPassword.Text = ; /清空 private void button1_Click(ob

8、ject sender, EventArgs e) if(UserCheck(this.textUserID.Text,this.textUserPassword.Text)=system) /调用检测函数并识别 this.Visible=false; Form mainform=new MainForm(); /调用主窗体 mainform.ShowDialog(); /调用显示函数 this.Close(); /关掉正在打开的界面 else if(UserCheck(this.textUserID.Text,this.textUserPassword.Text)=user) this.Vi

9、sible=false; Form mainform=new MainForm(); mainform.ShowDialog(); this.Close(); else if(MessageBox.Show(输入用户密码有误,是否重新登陆,输入有误,MessageBoxButtons.OKCancel,MessageBoxIcon.Question)=DialogResult.OK) /输入错误,调用窗体并提示错误 this.textUserID.Clear(); this.textUserPassword.Clear(); else this.Close(); string UserChec

10、k(string username, string userpassword)/判断 string txtSql, usersort; usersort = nobody; txtSql = SELECT * FROM user; SqlCommand checkuser = new SqlCommand(txtSql, this.sqlConnection1); try this.sqlConnection1.Open(); /打开数据库链接 SqlDataReader sqlreader = checkuser.ExecuteReader(); while (sqlreader.Read(

11、) if (sqlreader0.ToString().Trim() = username) & (sqlreader1.ToString().Trim() = userpassword)/输入数据与数据库中的数据进行比较判断 usersort = sqlreader2.ToString().Trim(); break; catch (Exception e) MessageBox.Show(e.ToString(); sqlConnection1.Close(); return usersort; (2)主控制窗体界面: 图5-2,主控制窗体主控制窗体代码:namespace library

12、.cs public partial class MainForm : Form public MainForm() InitializeComponent(); private void button4_Click(object sender, EventArgs e) this.Close(); /退出系统 private void button3_Click(object sender, EventArgs e) this.Visible = false; Form mainform = new User(); mainform.ShowDialog(); /打开管理员管理模块 this

13、.Close(); private void button2_Click(object sender, EventArgs e) this.Visible = false; Form Xinshu = new xinshu(); Xinshu.ShowDialog(); /打开书籍综合管理模块 this.Close(); (3)书籍综合管理模块窗体设计: 图5-3,综合功能窗口 图5-4, 出借查询窗口书籍综合管理模块代码实现: namespace library.cs public partial class xinshu : Form public xinshu() InitializeC

14、omponent(); private void btnClear_Click(object sender, EventArgs e) this.textName.Text = ;/清空 this.textNum.Text = ; private void btnBack_Click(object sender, EventArgs e) this.Visible = false; Form mainform=new MainForm(); mainform.ShowDialog();/返回主窗体 this.Close(); private void btnAdd_Click(object s

15、ender, EventArgs e) /添加新数据进入Book表 SqlConnection con = new SqlConnection(server=(local);uid=sa;pwd=123;database=shuku); con.Open(); SqlCommand cmd=new SqlCommand(insert into book values (+textName.Text.Trim()+,+textNum.Text.Trim()+,+textType.Text.Trim()+,+textPub.Text.Trim()+,+textBro.Text.Trim()+),c

16、on); cmd.ExecuteNonQuery(); MessageBox.Show(成功入库!); printf();/新数据入库后刷新 private void xinshu_Load(object sender, EventArgs e) printf(); /调用显示函数 private void printf() /显示函数 this.sqlDataAdapter1.Fill(this.dataSetBook); this.dataGrid1.DataSource = this.dataSetBook.Tables0.DefaultView; private void btnChe

17、ck_Click(object sender, EventArgs e) /查询按钮功能实现 SqlConnection conn = new SqlConnection(server=(local);database=shuku;Trusted_Connection=yes;); SqlCommand com = new SqlCommand(); conn.Open(); com.Connection = conn; com.CommandType = CommandType.Text; if (textName2.Text != null) com.Parameters.Add(书号,

18、SqlDbType.Int); com.Parameters书号.Value = textName2.Text;/取在文本框中输入的数据值 com.CommandText = select * from book where BookNum=书号; /对比 DataSet dataSet2 = new DataSet(); SqlDataAdapter qlcom2 = new SqlDataAdapter(com); qlcom2.Fill(dataSet2, stu1); dataGrid2.DataSource = dataSet2.Tablesstu1.DefaultView;/把查询

19、结果放入第二DataGrid conn.Close(); /关闭连接 private void btnClear2_Click(object sender, EventArgs e) this.textName2.Text = ;/清空 private void btnDelete_Click(object sender, EventArgs e) /删除界面代码 SqlConnection conn = new SqlConnection(server=(local);database=shuku;Trusted_Connection=yes;); SqlCommand com = new

20、SqlCommand(); conn.Open(); com.Connection = conn; com.CommandType = CommandType.Text; com.Parameters.Add(书号, SqlDbType.Int); com.Parameters书号.Value = textName2.Text;/取输入值 com.CommandText = delete from book where BookNum=书号;/删除关键字相同的键值 com.ExecuteNonQuery(); MessageBox.Show(删除成功!); com.CommandText =

21、(select *from book); com.CommandType = CommandType.Text; SqlDataAdapter Adapter = new SqlDataAdapter(com); DataTable de = new DataTable(); Adapter.Fill(de); this.dataGrid1.DataSource=de;/显示结果在显示窗体1 private void btncount_Click(object sender, EventArgs e) /统计按钮功能实现 int datarows; SqlConnection conn = n

22、ew SqlConnection(server=(local);database=shuku;Trusted_Connection=yes;);/打开数据库 SqlCommand com = new SqlCommand();/命令集 conn.Open(); com.Connection = conn; com.CommandType = CommandType.Text; com.CommandText = select BookName from Book; SqlDataAdapter dapter = new SqlDataAdapter(com);/适配器 DataSet con

23、= new DataSet(); /容器 datarows = sqlDataAdapter1.Fill(con); MessageBox.Show(总共有+datarows.ToString()+本书); private void btnBro_Click(object sender, EventArgs e) /打开出借查询界面 this.Visible = false; Form formbro = new FormBro(); formbro.ShowDialog(); this.Close(); 出借查询代码实现 private void butOK_Click(object sen

24、der, EventArgs e) /通过出借号查询并显示 SqlConnection conn = new SqlConnection(server=(local);database=shuku;Trusted_Connection=yes;);/打开数据库链接 SqlCommand com = new SqlCommand(); conn.Open(); com.Connection = conn; com.CommandType = CommandType.Text; com.Parameters.Add(借出号, SqlDbType.Int); com.Parameters借出号.Va

25、lue = BroNum.Text; com.CommandText = select * from bookbro where BroNum=借出号; DataSet dataSet2 = new DataSet(); SqlDataAdapter qlcom2 = new SqlDataAdapter(com); qlcom2.Fill(dataSet2, stu1); dataGrid1.DataSource = dataSet2.Tablesstu1.DefaultView; conn.Close(); private void button2_Click(object sender,

26、 EventArgs e) this.BroNum.Text = ; /清空 private void button1_Click(object sender, EventArgs e) /返回上一级窗体 this.Visible = false; Form xinshu = new xinshu(); xinshu.ShowDialog(); this.Close(); private void button3_Click(object sender, EventArgs e) /显示所有出借的书籍 SqlConnection conn = new SqlConnection(server=

27、(local);database=shuku;Trusted_Connection=yes;); SqlCommand com = new SqlCommand(); conn.Open(); com.Connection = conn; com.CommandType = CommandType.Text; com.CommandText = select * from bookbro ; DataSet dataSet2 = new DataSet(); SqlDataAdapter qlcom2 = new SqlDataAdapter(com); qlcom2.Fill(dataSet

28、2, stu1); dataGrid1.DataSource = dataSet2.Tablesstu1.DefaultView; conn.Close(); (5)管理员管理模块界面:图5-5,管理员管理模块界面代码实现(在这个模块中手动设置数据连接,用到了VS.net数据库连接控件):上一个代码:private void btnPrevious_Click(object sender, System.EventArgs e) this.BindingContextthis.objDataSetUser1,user.Position -= 1; / 指针减一 this.ButtonPositonChange(); this.DatasetPostionChange(); 表头代码:private void btnFirst_Click(object sender, System.EventArgs e) this.BindingContextthis.objDataSetUser1, user.Position = 0;/回到数据集中表头的地址 this.ButtonPositonChange();

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

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