期末实践 - 设计报告 - 选题版

更新时间:2024-05-25 16:47:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2014-2015年度《数据库原理与应用》期末考核程序设计报告

学生基本信息 学号 专业 姓名 地理信息系统 班级 成绩 选择题目 序号 1 2 【 √ 】[1]野外观测记录系统 【 】[2]GeodataBase空间数据库属性编辑系统 【 】[3]点要素类管理系统 【 】[4]测量数据管理系统 【 】[5]基于数据库的坐标方位角计算 【 】[6]矿权拐点数据管理与范围生成 【 】[7]自定(更改题目) 设计报告正文 (每人思路不同,书写习惯不同,不可抄袭,抄袭=0分) 提纲 内容 当我们在进行野外观察时,会有很多要记录的数据,如果要是用笔纸一一记需求分析 录的话比较麻烦,这个时候就体现出数据库的优势,我们可以利用数据库与C#语言结合的方式开发出野外观测记录系统,来减轻野外工作量,用李远华老师的话就是“别人还在工作时,我已经躺在床上睡大觉了,哈哈哈”,由此可见野外观测工作者对野外观测记录系统的迫切需求。 数据库设计 绘制E-R图 (1) 概念设计 登录 密码 用户名 修改用户 添加用户 用户管理 删除用户 野外观测记录系统 关于 主程序 用户 系统 其它 功能 修改记录 功能实现 删除记录 添加记录 查询 查询所有 (2) 逻辑设计 登陆系统(系统,用户,功能,其他,关于) 用户管理(添加用户,修改用户,删除用户) 功能实现(查询,查询所有,删除记录,修改记录,添加记录) (3) 物理设计 确定数据库物理结构,以直接调用和添加的存取方法,以excell表形式的存储结构; 对物理结构评价,存取时间短,时间效率高,占用空间少,空间效率高。 画出软件功能结构图, 野 外 观 测 记 录 系 统用户登录 查询功能 用户管理 Access数据库实现 修改数据 功能设计 删除数据 添加数据 将你设计的界面分别截图放入(核心功能即可) 1, 野外观测系统观测登录界面 4 界面设计 2 ,主程序窗口 3, 用户管理 4,功能实现 核心功5 能实现方法 打开系统,登陆系统 登录方法 进入功能 在功能实现窗体 进行相关操作 查询,查询所有,添加,修改,删除记录 保存相关数据 主要指修改和删除的数据 关闭系统 1, 用户登录 private void button1_Click(object sender, EventArgs e) { Form2 form2_01 = new Form2(); OleDbConnection aConnection = new OleDbConnection(\Application.StartupPath + \aConnection.Open(); ///打开数据库 String SQLString = \6 核心代码 textBox1.Text.Trim() + \设置sql 查询语句 OleDbDataAdapter myadapter = new OleDbDataAdapter(SQLString, aConnection); ///创建适配器,执行sql 查询 DataSet ds = new DataSet(); ///建立数据集 myadapter.Fill(ds); ///将查询结果 加入 ds 中 if (ds.Tables[0].Rows.Count > 0) ///判断用户名密码是否正确 { form2_01.Show(); aConnection.Close(); this.Hide();

} else { MessageBox.Show(\对不起,输入用户名或密码有误\aConnection.Close(); } } 2, 添加用户 private void button1_Click(object sender, EventArgs e) { OleDbConnection aConnection = new OleDbConnection(\Application.StartupPath + \ aConnection.Open(); ///打开数据库 String SQLString = \values('\设置sql查询语句 OleDbDataAdapter myadapter = new OleDbDataAdapter(SQLString, aConnection); ///创建适配器,执行sql查询 DataSet ds = new DataSet(); ///建立数据集 myadapter.Fill(ds); ///将查询结果 加入 ds中 aConnection.Close(); DataRefresh();//刷新程序 } 3, 修改密码 private void button2_Click(object sender, EventArgs e) { OleDbConnection aConnection = new OleDbConnection(\Application.StartupPath + \ aConnection.Open(); ///打开数据库 String SQLString = \textBox2.Text + \设置sql查询语句 OleDbDataAdapter myadapter = new OleDbDataAdapter(SQLString, aConnection); ///创建适配器,执行sql查询 DataSet ds = new DataSet(); ///建立数据集 myadapter.Fill(ds); ///将查询结果 加入 ds中 aConnection.Close(); DataRefresh();//刷新程序 } 4, 删除用户 private void button3_Click(object sender, EventArgs e) { OleDbConnection aConnection = new OleDbConnection(\Application.StartupPath + \ aConnection.Open(); ///打开数据库 String SQLString = \Uname='\设置sql查询语句 OleDbDataAdapter myadapter = new OleDbDataAdapter(SQLString, aConnection); ///创建适配器,执行sql查询 DataSet ds = new DataSet(); ///建立数据集 myadapter.Fill(ds); ///将查询结果 加入 ds中 aConnection.Close(); DataRefresh();//刷新程序 } 5, 查询 private void 查询_Click(object sender, EventArgs e) { //查询 string filename = System.Windows.Forms.Application.StartupPath + \野外记录.xls\获得完全路径 string strConnection = \source=\'\定义连接要求 OleDbConnection conn = new OleDbConnection(strConnection); conn.Open(); ///打开数据库 string query = \野外记录表$] where 照片号='\+ textBox1.Text+\ DataSet ds = new DataSet(); OleDbDataAdapter myadapter = new OleDbDataAdapter(query, conn); myadapter.Fill(ds); textBox1.Text = ds.Tables[0].Rows[0][\照片号\ textBox2.Text = ds.Tables[0].Rows[0][\经度\ textBox3.Text = ds.Tables[0].Rows[0][\纬度\ textBox4.Text = ds.Tables[0].Rows[0][\天气\ textBox5.Text = ds.Tables[0].Rows[0][\日期\ textBox6.Text = ds.Tables[0].Rows[0][\描述\ textBox7.Text = ds.Tables[0].Rows[0][\记录员\ dataGridView1.DataSource = ds.Tables[0];//将dataGridView1 与ds 中的内容连接起来 conn.Close(); conn.Dispose(); } 6, 修改记录 private void 修改记录_Click(object sender, EventArgs e) { string filename = System.Windows.Forms.Application.StartupPath + \野外记录.xls\获得完全路径 string strConnection = \ \定义连接要求 OleDbConnection conn = new OleDbConnection(strConnection); conn.Open(); DataSet ds = new DataSet(); String SQLString = \野外记录表$] set 经度=\textBox2.Text.Trim() + \纬度= \天气='\textBox4.Text + \日期='\描述='\textBox6.Text.Trim().ToString() + \记录员='\where 照片号 ='\ OleDbDataAdapter myadapter = new OleDbDataAdapter(SQLString, conn); myadapter.Fill(ds); MessageBox.Show(\修改成功!\ } 7, 查询所有 private void 查询所有_Click(object sender, EventArgs e) { try { string filename = System.Windows.Forms.Application.StartupPath + \野外记录.xls\获得完全路径 string strConnection = \properties='excel 8.0;HDR=YES;IMEX=1 '\定义连接要求 OleDbConnection conn = new OleDbConnection(strConnection); conn.Open(); String SQLString = \野外记录表$]\ DataSet ds = new DataSet(); OleDbDataAdapter myadapter = new OleDbDataAdapter(SQLString, conn); myadapter.Fill(ds); dataGridView1.DataSource = ds.Tables[0];//将dataGridView1 与ds 中的内容连接起来 conn.Close(); } catch (Exception msg) { throw new Exception(msg.ToString()); } } 8, 添加记录 private void 添加记录_Click(object sender, EventArgs e) { string filename = System.Windows.Forms.Application.StartupPath + \野外记录.xls\获得完全路径 string strConnection = \source=\ \定义连接要求 OleDbConnection conn = new OleDbConnection(strConnection); conn.Open(); DataSet ds = new DataSet(); //String SQLString = \ [野外记录表$](照片号,经度,纬度,天气,日期,描述,记录员) VALUES('\textBox1.Text.Trim() + \textBox3.Text.Trim() + \\实地观测类别描述 String SQLString = \ [野外记录表$](照片号,经度,纬度,天气,日期,描述,记录员)values('\textBox2.Text + \

textBox5.Text + \ OleDbDataAdapter myadapter = new OleDbDataAdapter(SQLString, conn); myadapter.Fill(ds); MessageBox.Show(\添加成功!\ } 9, 删除数据 private void 删除数据_Click(object sender, EventArgs e) { DeleteExcel(textBox1.Text, System.Windows.Forms.Application.StartupPath + \野外记录.xls\ } //**************************************删除excel指定行函数 ********************************************* public static void DeleteExcel(string searchword, string filefullPath) { //******** kill excel ***** System.Diagnostics.Process[] myPs; myPs = System.Diagnostics.Process.GetProcesses(); foreach (System.Diagnostics.Process p in myPs) { if (p.ProcessName.ToUpper() == \ { try { p.Kill(); } catch (Exception) { } } } //******** kill excel ***** string filename = filefullPath; //MessageBox.Show(filename); string strKeyWord = searchword; object oText = strKeyWord.Trim().ToUpper(); //****************读取excel************ Microsoft.Office.Interop.Excel.Application excelapp = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel._Workbook workBook = null; Microsoft.Office.Interop.Excel._Worksheet workSheet = null; Microsoft.Office.Interop.Excel.Range rng01 = null; object missing = System.Reflection.Missing.Value; object MissingValue = System.Reflection.Missing.Value; // 打开Excel文件 workBook = excelapp.Workbooks.Open(filename, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); // excelapp.Visible = true; // Excel应用程序可见 // 针对Excel文档中的第一个Sheet就行操作。Sheet的下标从1开始 workSheet = (Microsoft.Office.Interop.Excel._Worksheet)workBook.Sheets[1]; workSheet.Activate(); 开Excel看到的是Sheet[1] //Microsoft.Office.Interop.Excel.Worksheet ews; int iEWSCnt = workBook.Worksheets.Count; int i = 0, j = 0; Microsoft.Office.Interop.Excel.Range oRange; // Sheet[1]处于激活状态,即打 //object oText = strKeyWord.Trim().ToUpper(); // for (i = 1; i <= iEWSCnt; i++) // { //workSheet = null; //workSheet = (Microsoft.Office.Interop.Excel.Worksheet)workBook.Worksheets[i]; oRange = null; oRange = ((Microsoft.Office.Interop.Excel.Range)workSheet.UsedRange).Find(oText, MissingValue, MissingValue, MissingValue, MissingValue, Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, MissingValue, MissingValue, MissingValue); if (oRange != null && oRange.Cells.Rows.Count >= 1 && oRange.Cells.Columns.Count >= 1) { //MessageBox.Show(\文档中包含指定的关键字!\\搜索结果\ //MessageBox.Show(Convert.ToString(oRange.Row)); //获取编辑范围 oRange = (Microsoft.Office.Interop.Excel.Range)workSheet.Rows[oRange.Row, Missing.Value]; //删除整行 oRange.EntireRow.Delete(Microsoft.Office.Interop.Excel.XlDeleteShiftDirection.xlShiftUp); //保存编辑 workBook.Save(); workBook.Close(Missing.Value, Missing.Value, Missing.Value); //退出excel application,可以将前面的excelApp.Visible = false改为excelApp.Visible = true看看; excelapp.Workbooks.Close(); excelapp.Quit(); //******** kill excel ***** // System.Diagnostics.Process[] myPs; myPs = System.Diagnostics.Process.GetProcesses(); foreach (System.Diagnostics.Process p in myPs) { if (p.ProcessName.ToUpper() == \ { try { p.Kill(); } catch (Exception) { } } } //******** kill excel ***** //MessageBox.Show(\删除成功\ // MessageBox.Show(\ // break; }//of if else { foreach (System.Diagnostics.Process p in myPs) { if (p.ProcessName.ToUpper() == \ { try { p.Kill(); } catch (Exception) { } } } MessageBox.Show(\没发现您要删除的内容\ excelapp.Workbooks.Close(); excelapp.Quit(); } //**************************************删除excel指定行函数 ********************************************* foreach (System.Diagnostics.Process p in myPs) { if (p.ProcessName.ToUpper() == \ { try { p.Kill(); } catch (Exception) { } } } //excelapp.Workbooks.Close(); //excelapp.Quit();

} private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { int i = this.dataGridView1.CurrentRow.Index;//获取你选中的行编号 if (i < dataGridView1.RowCount) { textBox1.Text = dataGridView1.SelectedRows[0].Cells[\照片号\textBox2.Text = dataGridView1.SelectedRows[0].Cells[\经度\textBox3.Text = dataGridView1.SelectedRows[0].Cells[\纬度\textBox4.Text = dataGridView1.SelectedRows[0].Cells[\天气\textBox5.Text = dataGridView1.SelectedRows[0].Cells[\日期\textBox6.Text = dataGridView1.SelectedRows[0].Cells[\描述\textBox7.Text = dataGridView1.SelectedRows[0].Cells[\记录员\改 } else { MessageBox.Show(\对不起,数据超行\ } 7 本系统优点描述 功能简洁,明白如话,操作方便,能满足基本需求,便于二次开发! 8

存在问由于操作过于简单,不能实现较复杂的功能,只能满足基本需求,某些别的题描述 复杂功能还需浪费较多的人力物力! 表1 2014-2015-01学期 数据库原理与应用期末考核题目备选表

专业 备选题目 要求 最低要求 1.用Access或Excel数据库实现 2.用户登录 3.用户管理 4.添加修改删除数据功能 5.查询功能 1.根据教师给定Geodatabase数据(实为Access数据库),实现对Geodatabase数据库的控制。 2.用户登录 3.用户管理 4.根据条件修改属性 5.属性查询 6.随时添加新字段,进行字段计算 1.用Access,Excel或SQL Server数据库实现 2.用户登录 3.用户管理 4.设计合理的点要素字段 5.查询功能 6.通过ArcEngine、ArcGIS GP(编程)、MapGIS67 SDk等方法,将数据库中的记录转为点文件 1.用Access,Excel或SQL Server数据库实现 2.用户登录 3.用户管理 4.设计数据表(基本表)及字段 (根据专业需要) x,y,Z,测量人 5.添加修改删除数据功能 6.查询功能 1.用Access,Excel或SQL Server数据库实现, 将待计算的坐标点存入数据库。 2.用户登录 3.用户管理 4.设计数据表(基本表)及字段 (根据专业需要) 点号,点位,x,y坐标 5.添加修改删除数据功能 6.能过数据库查询方法,查询任意两点P1,P2的方位角,并显示出来(用数据库方法计算)。 1.用Access,Excel或SQL Server数据库实现 2.用户登录 3.用户管理 4.合理设计数据表(基本表)及字段(灵活) 5.通过ArcEngine、ArcGIS GP(编程)、MapGIS67 SDk等方法,将数据库中的记录转为线、面文件,附带属性。 1.用Access,Excel或SQL Server数据库实现。 2.用户登录 3.用户管理 4.核心技术为数据库技术,具最基本的查询,数据操纵功能 5.与自己专业相关,难度不低于前述项目 提交材料 1.设计报告 2.源程序 1.设计报告 2.源程序 1.完成数据库设计报告 (任务分析,功能设计,数据野外观测记录库设计,技术流程) 系统(难度系2.完成软件界面设计 数:0.92) 3.完成C#程序编写 4.自己创新设计并实现 1.完成数据库设计报告 GeodataBase(任务分析,功能设计,数据空间数据库属库设计,技术流程) 2.完成软件界面设计 性编辑系统(难3.完成C#程序编写 度系数:0.98) 4.自己创新设计并实现 1.完成数据库设计报告 (任务分析,功能设计,数据库设计,技术流程) 2.完成软件界面设计 3.完成C#程序编写 4.自己创新设计并实现 1.完成数据库设计报告 (任务分析,功能设计,数据库设计,技术流程) 2.完成软件界面设计 3.完成C#程序编写 4.自己创新设计并实现 1.完成数据库设计报告 (任务分析,功能设计,数据库设计,技术流程) 2.完成软件界面设计 3.完成C#程序编写 4.自己创新设计并实现 地理信息系统方向 点要素类管理系统(难度系数:0.98) 1.设计报告 2.源程序 测量数据管理系统(难度系数:0.92) 1.设计报告 2.源程序 测绘工程方向 基于数据库的坐标方位角计算(难度系数:0.98) 1.设计报告 2.源程序 矿权拐点数据公选

管理与范围生成(难度系数:1.0) 1.完成数据库设计报告 (任务分析,功能设计,数据库设计,技术流程) 2.完成软件界面设计 3.完成C#程序编写 4.自己创新设计并实现 1.设计报告 2.源程序 自选1.完成数据库设计报告 (任务分析,功能设计,数据库题目自定 (难设计,技术流程) 度系数:待定) 2.完成软件界面设计 3.完成C#程序编写 4.自己创新设计并实现 1.设计报告 2.源程序

本文来源:https://www.bwwdw.com/article/ywa7.html

Top