数据库系统概论课程设计报告Word文件下载.docx
- 文档编号:16146097
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:22
- 大小:407.73KB
数据库系统概论课程设计报告Word文件下载.docx
《数据库系统概论课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库系统概论课程设计报告Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
(1)王珊萨师煊.《数据库系统概论》.高等教育出版社(第四版)
(2)孙继磊刘亮亮.《精通VisualC#2008》.人民邮电出版社
(3)SolidQualityLearning.《SQLServer2005从入门到精通》.清华大学出版社
三、课程设计应解决的主要问题:
(1)表的物理文件用xml文件存储
(2)实现图形界面的对整个表的查询
(3)命令行形式实现单表、多表、where、and、or等的查询
四、课程设计相关附件(如:
图纸、软件等):
(1)Visualstudio2008
(2)xml文本编辑
五、任务发出日期:
2011-4-29课程设计完成日期:
2011-7-1
指导教师签字:
系主任签字:
指导教师对课程设计的评语
2011年月日
一、设计要求:
SELECT查询语句的实现
要求:
(1)表的物理文件采用Access、VFP等系统的文件;
(2)语句以命令行和图形化界面两种形式实现;
二、需求分析:
数据库系统能够有效地组织和管理大量的数据。
查询功能是数据库非常重要的功能,通过对数据库概论的学习,了解了数据文件的组织,内存数据结构(链表、数组)的定义,数据字典的存储和访问,命令行语句的解析,数据操纵语句和数据查询语句的实现方法,数据库的完整性约束等。
然后通过编程,进一步加深对数据库技术的理解。
三、设计思想:
本课程设计主要实现以下功能:
(1)图形界面查询界面查询时,静态的在treeview中添加数据条目(数据库名称,表的名称,每个表的列名),在点击相应的条目的时候,在DataGridView中显示信息。
根据选中的信息,确定确定DataGridView中的数据源。
确定数据源后,将数据和DataGridView数据绑定,在开始让DataGridView中所有的信息不能显示,然后根据条件判断要显示的条目,再在DataGridView中显示出来。
(2)SQL语句查询先判断输入的查询语句是否正确,若输入正确继续,否则提示错误信息。
语句正确时,再确定查询内容(确定select后面的内容),打开相应的数据表(from后面的信息),将数据源与DataGridView数据绑定,然后在DataGridView中显示出查询结果,并提示操作结果是否正确。
将Select查询查询分为查询条件是*的,与不是*两种情况进行讨论。
四、程序流程图:
(1)界面查询流程:
(2)SQL语句查询程序流程图
五、主要源程序:
1、查询语句关键字集合
privatevoidrichTextBox1_TextChanged(objectsender,EventArgse)
{
List<
string>
keyWord=newList<
();
//建立关键字的集合
keyWord.Add("
select"
);
select"
select"
where"
where"
where"
from"
from"
from"
and"
and"
and"
or"
or"
or"
distinct"
distinct"
distinct"
foreach(stringstrinkeyWord)
intstartindex=0;
stringstr_key=str;
intindex=-1;
while(true)
index=richTextBox1.Text.IndexOf(str_key,index+1);
if(index!
=-1)
startindex=richTextBox1.Text.Length;
richTextBox1.SelectionStart=index;
richTextBox1.SelectionLength=str_key.Length;
richTextBox1.SelectionColor=Color.Blue;
richTextBox1.SelectionStart=startindex;
richTextBox1.SelectionColor=richTextBox1.ForeColor;
}
else
break;
}}}
//this.richTextBox1.Focus();
2、界面查询部分代码
privatevoidtreeView2_AfterSelect_1(objectsender,TreeViewEventArgse)
stringselectedNodeText=treeView2.SelectedNode.Text;
if(selectedNodeText=="
数据库"
)
DataSetds=newDataSet();
dataGridView2.DataSource=ds;
elseif(selectedNodeText=="
student"
employ"
stu"
ds.ReadXml("
../../DataSource/stu.xml"
dataGridView2.DataSource=ds.Tables[0];
gra"
../../DataSource/gra.xml"
cou"
../../DataSource/cou.xml"
emp"
../../DataSource/emp.xml"
day"
../../DataSource/day.xml"
dep"
../../DataSource/dep.xml"
3、SQL语句查询代码
if(sql.Substring(0,8)=="
distinct"
sql=sql.Substring(8,sql.Length-8).Trim();
if(sql.Substring(0,1)=="
*"
sql=sql.Substring(1,sql.Length-1).Trim();
if(sql.Substring(0,4).ToLower()=="
from"
sql=sql.Substring(4,sql.Length-4).Trim();
char[]c=sql.ToCharArray();
for(inti=0;
i<
sql.Length;
i++)
if(c[i]=='
'
for(intj=0;
j<
i;
j++)
tableName+=c[j];
tableName="
../../"
+"
DataSource/"
+tableName+"
.xml"
;
if(i==sql.Length-1)
=i;
if(sql.Contains("
where"
))
sql=sql.Substring(sql.IndexOf("
)+5,sql.Length-5-sql.IndexOf("
)).Trim();
try
ds.ReadXml(tableName);
dt=ds.Tables[0].Clone();
ds.Tables[0].Select(sql).CopyToDataTable<
DataRow>
(dt,LoadOption.PreserveChanges);
//dt.Rows.RemoveAt
(1);
for(into=0;
o<
dt.Rows.Count;
o++)
for(intp=o+1;
p<
p++)
coun=0;
for(intq=0;
q<
dt.Columns.Count;
q++)
if(dt.Rows[o][q].ToString()==dt.Rows[p][q].ToSt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)