华东交通理工学院.docx
《华东交通理工学院.docx》由会员分享,可在线阅读,更多相关《华东交通理工学院.docx(9页珍藏版)》请在冰豆网上搜索。
华东交通理工学院
华东交通大学理工学院
课程设计报告
2010—2011学年第二学期
课程名称数据库系统原理
设计题目图书馆管理系统
学生组黄亮亮(29号)、罗汉(26号)
专业班级信息管理与信息系统
指导教师李正帆
2011年6月10日
课程设计的目的2
课程设计示例3
设计总结10
参考文献10
课程设计的目的
(1)鉴于嵌入式sql语言在软件的开发应用(特别是在数据库应用系统开发中)的重要作用,掌握使用sql语言的基本方法和步骤。
(2)掌握与一种高级语言结合的具体程序代码的编写方法,上机运行,调试并能得出正确的结果。
本课程设计的题目是以c+为开发环境,利用嵌入式sql语言与sqlsever结合起来,开发一个单数据表的应用系统,为今后真正多表数据库应用系统开发打下良好的基础。
课程设计软件环境
(1)中文windows操作系统。
(2)Sqlsever2005.
(3)Microsoftvisualstudio2005简体中文企业版。
课程设计知识要点
配套理论教材中的第四章的第4.4节,对本课程设计题目所涉及的问题已经讲得很清楚,这里总结出以下几个注意点:
(1)使用嵌入式sql语言开发数据库的应用系统用两种基本方法,由于第一种方法要对数据库查询时输入正确的查询或修改数据库表内数据库数据的命令,这给一般的操作人员带来一定的难度,所以在实际中应用较多的是第二种方法。
(2)建立sqlsever数据库表之间一定要满足完整性规则。
避免用sql语句操作亮出现各种形式的错误。
课程设计示例
在教材中已详细说明了嵌入式sql语言具体应用的过程,这里仅是举例子对本课程设计的步骤做如下说明:
建一个图书馆管理系统数据库:
xsgl,内建一个学生基本情况表s,它的模式是:
S(sno,sname,sex,age,dept),其中:
sno:
学号;sname:
学生姓名;sex:
性别;age:
年龄;dept:
专业。
具体内容如表1所示;要求对s表进行任意数据的查询、增加记录、删除记录、清除记录数据、退出操作等功能。
C#数据库操作
1.打开sqlserver2005查询分析器窗口,建立数据库;xsgl。
2.在数据库xsgl下建立,s表,结果如图1所示。
S表如图2所示。
3.在c#环境下建立对s表所有操作功能的工作界面,如图三所示。
此界面设置了一个datagridview控件;7个标签控件;分别是选择字段名,选择字段值,学号、姓名、性别、年龄和所学专业;2个组合框控件;combo1和combo2;5个文本框控件;5个按钮控件;分别为“添加”、“删除”、“修改”、“清除”和“退出”。
对他们所有的属性进行了设置,并编写了运行代码。
调试后正确运行后的代码见后。
4.在c#环境下运行,运行后的界面。
5.数据查询的界面如图五所示。
在combo1中选择性别,在combo2中选择“男”。
6.增加的一条记录是:
“200967,“李小敏”,“女”,“18”,“中文”。
增加一条记录后的工作界面。
7.把增加一条记录中的18改成19,把“中文”改成“英语”,修改后的界面。
8.先选择第一条记录的界面,然后清除文本框中的数据,清除数据后的工作界面。
9.删除开始增加的一条记录后,回复原先s表记录,如图九所示。
10.工作完成后,单击“退出”按钮,退出运行状态。
11.编写的程序代码如下:
Usingsystem.data.sqlclient;
//窗体加载事件
Privatevoidforml_load(objectsendermEventArgse)
{
Binddata("");
}
//绑定数据
Privatevoidbinddata(stringstrwhere)
{
StringstrSQL;
Stringstrconn=@"datasource=.\sqlexpress;initialcatalog=xsgl'integratedse-curity=true";
If(strwhere=="")
Strsql="select*fromsorderbysno";
Else
Strsql="select*fromswhere"+strwhere+"orderbysno");
Datasetds=newdataset();
Using(sqlconnectionconn=newsqldataadapterstrsql,conn))
{
Conn.open();
Da,fill(ds);
Conn.close();
Conn,dispose();
}
}
Datagridviewl.datasource=ds.tables[0].defaultview;
Cmbfield.items.clear();
For(inti=0;iCmbfield.selectedindex=0;
}
//选择字段名
Privateviodcmbfield-selectindexchanged(objectsender,eventargse)
{stringstrconn=@"datasource=.\sqlexpress;intialcatalog=xsgl:
integratedsecurity=true";
If(!
string.isnullorempty(txtno.text))
{strsql="deletefromSwheresno='+txtnotext+"'";
Using(sqlconnectionconn=newsqlconnection(strconn))
{using(sdwlcommandcmd=newsqlcommand(strsql,conn))
{conn.open();
I=cmd,executenonquery();
}
}
If(i>0)
{,messagebox,show("成功删除记录");
}
Else
Messagebox.show("当前无该学号,删除失败!
");
}
Else
Messagebox.show("请输入删除的学号!
"),"delete",messageboxbuttons.ok,messageboxicon.information);
}
//添加记录
Privatevoidcmdadd_click(objectsender,eventargse)
{
Strsql="insertintos(sno,sname,sex,age,dape)values('"+txtno.text+"","
+txtname.text+",'"+
Txt
{
Strsql="insertintos(sno,sname,sex,age,dape)values('"+txtno.text+"')";
If(string.isnulloremapty(txtno.text))
{
Messagebox.show("学号是主索引,不能为空","错误提示");
Retrun;
}
Else
{
Stringstrconn=@"datasource==.\sqlexpress;initialcatalog=xsgl;inteqratedsecurity=true"'
Using(sqlconnectionconn-newsqlconnection(strconn))
{using(sqlcommandcmd=newsqlcommand(strsql;conn));
{
Conn.open();
Cmd.executenonquery();
Conn.close();
}
}
Binddata("");
}
}
Binddata("")
}
}
Catch
{
Messagebox.show("学号是主索引,不能重复","错误提示");
Return;
}
}
//修改记录
Privatevoidcmdedit_click(objectsender,eventargse)
{
Stringstrsql=null;
Try{
Strsql="updatessetsno='"+txtno.text+"',snam='"+txtnam.text+"';
Sex='"+
Txtxb.text+text+"',age="+txtyear.text+"',dape='"+txtzn.text+"'
Wheresno='"+txtno.text+"'";
If(string.isnullrempty(txtno.text))
{
Messagebox.show("学号是主索引,不能为空","错误提示");
Return;
}
Else
{
Stringstrconn=@"datasource=.\sqlexpress;initialcatalog=xsgl;integratedsecurity=true";
Using(sqlconnectionconn=newsqlconnection(strconn))
{
Using(sqlcommandcmd=newsqlcommand(strsql,conn))
Conn,open()0;
Cmd.executenonquery();
Conn.close();
conn.dispose():
}
}
Binddata("");
}
}
Catch
{
Messagebox.show("学号是主索引,不能重复","不能重复");
Return;
}
}
设计总结
通过几周对课程设计的完成。
在学习数据库的过程中,以前学习感到很抽象的课程,如数据库原理变得清晰起来,也学会了使用简单的数据库软件建立较为简单的数据库。
在学习数据库原理应用教程中,由于本人是初次做课程设计,在知识、经验方面都存在着不足。
另外,在整个过程中,时间也比较仓促。
因此,该课程设计必然会存在一些缺陷和不足。
因为对就图书管理课程设计的整个流程不够熟悉,很多不仅如意的还望老师谅解。
同时对一些代码不够熟悉,所以本管理系统存在着很多不足,但它是我花了很多心思和时间做出来的,今后会学习更多的数据库知识来完善它,使它能够有更全面的功能。
通过做图书管理设计课程,我掌握了了一些基本的数据库知识,巩固了我对数据库的学习,但在这次课程设计中的最大收获并不是掌握了数据库课程的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。
参考文献
[1]《数据库原理应用教程实验指导与习题解答》,北京邮电大学出版社。