数据库实训+邮局订报管理系统.doc
《数据库实训+邮局订报管理系统.doc》由会员分享,可在线阅读,更多相关《数据库实训+邮局订报管理系统.doc(45页珍藏版)》请在咨信网上搜索。
。 江苏理工学院课程设计报告 课程名称 数据库原理及应用 设计题目 邮局订报管理系统 姓 名 施坡 专业班级 12东计B 学 号 12961119 日期 2013-2-26 ~ 2012-3-9 成绩 江苏理工学院 课程名称 数据库原理及应用 课程代码 设计题目 邮局订报管理系统 设计时间 2013年 2 月 26 日 —— 2013 年3 月 9 日 系(院) 计算机科学与信息工程学院 专业 计算机科学与技术 班级 12961119 课程设计任务(条件)、具体技术参数(指标) 通过两周的课程设计,要求学生加深对数据库技术相关理论的理解,增强动手能力,掌握使用现行较为流行的数据库理论和数据库开发工具进行数据库管理操作(如建库、建立完整性约束,对数据库中数据进行查询,更改等操作)的方法;具体应用方面,要求学生对SQL语言要有较深入的了解和掌握,对数据库的管理(主要是安全性方面)要有一定程度的了解。 本次课程设计包含两大部分内容:设计软件和设计报告。其中设计软件在题目验收时由指导教师检查,具体内容不同,系统要求不同;设计报告作为书面材料提交。 二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求) 1、每位同学提交设计的数据库和应用程序相关文档,并提交一份课程设计报告,内容要包含设计题目、设计目的、需求分析、系统功能描述、系统E-R图、关系模式设计、各数据库表的建立(代码)、系统各功能实现(代码)、系统功能评价等。 2、课程设计报告电子版排版顺序: 任务书 → 目录 → 正文 → 附录。 3、每个同学要针对自己的系统,写出对设计技术的分析、对系统的测试、在编码和调试过程中遇到的问题和解决方法等。 4、课程设计报告最后写出本次设计的心得体会。 课程设计工作进度计划 课程设计第1周第1天:布置任务、交代课题、安排设计事宜 第1周第2天:调研,书籍和资料的准备 第1周第3天-第5天:系统分析和设计 第2周第1天-第3天:编程和测试,撰写设计报告 第2周第4天-第5天:课程设计检查,交设计报告 四、主要参考资料 [1]《数据库原理及应用》 钱雪忠主编 北京邮电大学出版社 2012,6, 第三版 [2] 陈刚等编著.Powerbuilder 《案例开发程序设计教程》.北京.清华大学出版社.2012 [3] 杨诏主编.Powerbuilder 8.0《 编程实用技术与案例》.北京.水利水电出版社.2012 [4] 卫海登. Powerbuilder 9.0 《课程设计案例精编》.北京.中国水利水电出版社.2012 [5] 王晟编著.Powerbuilder《数据库开发经典案例解析》.北京.清华大学出版社.2012 目 录 一、需求分析 1 1.1用户需求 1 1.2系统功能需求 1 1.3系统软硬件环境确定 2 二、系统功能设计 2 2.1系统功能结构 2 2.2系统功能处理流程 2 三、系统数据库设计 3 3.1数据库概念设计 3 3.2数据库逻辑设计 3 3.3数据库物理设计 3 四、系统实现 4 4.1数据库连接的实现 4 4.2用户登录功能的实现 5 4.3 用户订购报纸功能的实现 12 4.4用户查看自己已订阅报纸的功能的实现 14 4.5 用户退订报纸功能的实现 15 4.6 管理员查看报纸信息的实现 16 4.7管理员查看用户信息的实现 17 4.8 管理员查看用户订阅信息的实现 18 4.9 管理员进行搜索功能的实现 19 4.10 管理员插入报纸功能的实现 21 4.11 管理员删除报纸功能的实现 23 4.12关于 26 五、小结 27 六、参考文献。 28 -可编辑修改- 一、需求分析 1.1用户需求 1、可随时查询处可订购报纸的详细情况,如报纸编号(PNO)、报纸名称(PNA)、报纸单价(5、版面规格(PSI)、出版单位(PDW)等,这样便于客户选定。 2、客户查询报纸情况后即可订购所需报纸,可订购多种报纸,每种报纸可订若干份,交清所需金额后,就算订购处理完成。 3、为便于邮局投递报纸,客户需写明如下信息:客户姓名(CAN)、电话(CAD)、地址(CAW)及邮政编码(CAY),邮局将即时为每一客户编制唯一代码(CNA)。 4、邮局对每种报纸订购人数不限,每个客户可多次订购报纸,所定报纸亦可重复。 5、 能对报纸、客户等信息进行添加、修改、删除、查询、打印等基本操作。 6、 能根据订报要求订购各报纸,并完成一次订购任务后汇总总金额,模拟付钱、开票操作。 7、 能明细查询某客户的订报情况及某报纸的订出情况。 8、 能统计出某报纸的总订购量与总金额及某客户订购报纸种数、报纸份数与总订购金额等。 1.2系统功能需求 1、在SQL Server 中建立各相应的关系模式对应的库表,并确定索引等。 2、能对各库表进行输入,添加,修改,删除,查询,打印等基本操作。 3、查询功能:能根据邮局订报管理系统,管理员实现报纸的管理功能,用户实现报纸订阅和退订功能。 4、统计功能:能名细查询每报纸的总订数量与总金额及客户订购报纸种类,份数和总金额。 5、要求子系统设计界面友好,功能操作方便合理,并考虑子系统在安全性,完整性方面的功能要求。 6用户管理功能,如:用户登陆等。 1.3系统软硬件环境确定 系统开发工具为局域网或校园网网络环境,网络中有一台安装了windows xp的服务器,服务器上安装了SQL Server 2000,本子系统使用C#开发。 二、系统功能设计 2.1系统功能结构 1、查询报纸 2、订报纸 3、开票 4、付钱结算 5、订购后的查询 6、统计 2.2系统功能处理流程 图2-1 系统流图 三、系统数据库设计 3.1数据库概念设计 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接决定对应用系统的效率以及实现的效果的影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库也有利与应用系统程序的实现。 在充分的寻求分析基础上,经过逐步抽象,分析,充分研讨,可画出如下反映邮局订报子系统数据的整体 CANO CAYO CAW CAD PNO PN PPR PSI PDW NUM sub_news customer_info News_info n m 图3-1 E-R图 3.2数据库逻辑设计 1、数据库关系模式 News_info(PNO,PN,PPR,PSI,PDW) 报纸(报纸编号,报纸名称,报纸价格,版面规格,出版单位) customer_info(CAN,CAD,CAW,CAY) 客户(客户名称,电话,地址,邮政编码) sub_news(PNO,CAN,NUM) 订购(报纸编号,客户名称,数量) 2、数据库的视图 3.3数据库物理设计 本系统使用的数据库是SQL 2000,根据已设计出的关系模式及各关系模式的完整性约束要求,在SQL 2000数据库系统中实现这些逻辑结构。 数据库表的创建 本系统使用的数据库名为newspaper下面是创建数据库及其表结构的SQL命令: CREATE TABLE LOGININ( CNO varCHAR(20) PRIMARY KEY, PSW varCHAR(20)) CREATE TABLE Customer( CNO varCHAR(20) PRIMARY KEY, CNA varCHAR(50) , CTE varCHAR(15), CAD varCHAR(50), CPO varCHAR(10), FOREIGN KEY(CNO) REFERENCES LOGININ(CNO)) CREATE TABLE news_info ( PNO varCHAR(20) PRIMARY KEY, PNA varCHAR(50) , PPR FLOAT, PSI varCHAR(50), PDW varCHAR(50)) CREATE TABLE Subcribe( CNO varCHAR(20), PNO varCHAR(20), NUM SMALLINT, FOREIGN KEY(CNO) REFERENCES LOGININ(CNO), FOREIGN KEY(PNO) REFERENCES news_info(PNO), PRIMARY KEY(CAN,PNO)) 四、系统实现 4.1数据库连接的实现 class connection { SqlConnection conn; public SqlConnection connect { get { return this.conn; } } public void CreateConnection() { conn = new SqlConnection("data source=.;initial catalog=SubcribPost;user ID=sa"); this.conn.Open(); SqlCommand command = this.conn.CreateCommand(); } } static void Main() { conn = new connection(); conn.CreateConnection(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new logFrm() } 4.2用户登录功能的实现 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 邮局订报 { public partial class admin : Form { public admin() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string username = textBox1.Text; string password = textBox2.Text; SqlConnection sqlCon = new SqlConnection(); SqlCommand LogInCommand = new SqlCommand(); SqlDataAdapter userAdapter = new SqlDataAdapter(); DataSet dt = new DataSet(); sqlCon.ConnectionString = "Data Source=.;Initial Catalog=newspaper;Integrated Security=True;"; LogInCommand.Connection = sqlCon; LogInCommand.CommandText = "SELECT username,password From [user] where username='" + username + "' and password='" + password + "'"; userAdapter.SelectCommand = LogInCommand; userAdapter.SelectCommand.Connection = sqlCon; sqlCon.Open(); userAdapter.Fill(dt, "UserInfo");//填充数据集 if (dt.Tables[0].Rows.Count > 0) { MessageBox.Show(" 登陆成功"); this.Visible = false; Form1 fr = new Form1(1); fr.ShowDialog(); } else MessageBox.Show(" 失败"); } private void admin_Load(object sender, EventArgs e) { textBox1.Focus(); } private void button2_Click(object sender, EventArgs e) { this.Close(); } private void button3_Click(object sender, EventArgs e) { this.Visible = false; Form1 fr = new Form1(0); fr.ShowDialog(); } private void label2_Click(object sender, EventArgs e) { } } 1、 }管理员登录 图4-1 登录 图4-2 管理员界面 2、已注册用户登录 图4-3 普通用户登录 点击确定后即可进入用户订报界面。 3、新用户登录 图4-4 新用户登录 图4-5 信息提示 注册个人信息的代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 邮局订报 { public partial class yonghu : Form { public yonghu() { InitializeComponent(); } private void button5_Click(object sender, EventArgs e) { SqlConnection sqconn = new SqlConnection("Data Source=.;Initial Catalog=newspaper;Integrated Security=True"); string sql = String.Format("insert into customer_info(CAN,CAD,CAW,CAY) VALUES('{0}','{1}','{2}',{3})", textBox1.Text, textBox2.Text, textBox3.Text, Convert.ToUInt64(textBox4.Text)); try { sqconn.Open(); SqlCommand command = new SqlCommand(sql, sqconn); int count = command.ExecuteNonQuery(); if (count > 0) { MessageBox.Show("注册成功", "注册信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("注册失败"); } } catch (Exception ex) { MessageBox.Show(ex.Message, "操作数据库错误!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { sqconn.Close(); } } } } 确定后即进入订报界面。 4.3 用户订购报纸功能的实现 选好报纸后,输入要订购的份数,点击订购,即完成报纸的订购。 图4-7 用户界面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 邮局订报 { public partial class dinggou : Form { public dinggou() { InitializeComponent(); } private void dinggou_Load(object sender, EventArgs e) { SqlConnection sqconn = new SqlConnection("Data Source=.;Initial Catalog=newspaper;Integrated Security=True;"); string stri = "select distinct PNA from news_info "; try { sqconn.Open(); SqlDataAdapter sdat = new SqlDataAdapter(stri, sqconn); DataSet Dset = new DataSet(); sdat.Fill(Dset); boBox1.DataSource = Dset.Tables[0]; } catch (Exception ex) { MessageBox.Show(ex.Message, "操作数据库错误!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { sqconn.Close(); } } private void button6_Click(object sender, EventArgs e) { int mon = 0, num = 0; SqlConnection sqconn = new SqlConnection("Data Source=.;Initial Catalog=newspaper;Integrated Security=True;"); string stri = String.Format("select PPR,PNUM from news_info where PNA='{0}'", comboBox1.Text); // string stri_i = String.Format("select CAD,CAW from customer_info where CAN='{0}'", comboBox2.Text); SqlCommand com; try { sqconn.Open(); com = new SqlCommand(stri, sqconn); SqlDataReader re = com.ExecuteReader(); re.Read(); mon=Convert.ToInt32(re[0]); num = Convert.ToInt32(re[1]); } catch (Exception ex) { MessageBox.Show(ex.Message, "操作数据库错误!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { sqconn.Close(); } if (num >= Convert.ToInt32(textBox2.Text)) { int money = mon * Convert.ToInt32(textBox2.Text); stri = String.Format("insert into sub_news() VALUES('{0}','{1}','{2}')", comboBox1.Text, textBox2.Text, Convert.ToInt32(textBox1.Text)); string stru = "update news_info set NUM=" + (num - Convert.ToInt32(textBox2.Text)); try { sqconn.Open(); com = new SqlCommand(stri, sqconn); int count = com.ExecuteNonQuery(); com = new SqlCommand(stru, sqconn); int co = com.ExecuteNonQuery(); if (count > 0 && co > 0) { MessageBox.Show("订报成功", "订阅报纸", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("订报失败"); } } catch (Exception ex) { MessageBox.Show(ex.Message, "操作数据库错误!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { sqconn.Close(); } } else MessageBox.Show("报纸剩余数量不足!"); } } } 4.4用户查看自己已订阅报纸的功能的实现 图4-10 用户查看 4.5 用户退订报纸功能的实现 用户在已订阅栏里可选择想要退订的报纸,然后点击退订按钮即可实现报纸的退订。 图4-11 已定报纸 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 邮局订报 { public partial class state : Form { public state() { InitializeComponent(); } // private void state_Load(object sender, EventArgs e) // { // this.button2.Visible = false; // } private void button1_Click(object sender, EventArgs e) { SqlConnection sqconn = new SqlConnection("Data Source=.;Initial Catalog=newspaper;Integrated Security=True"); string stri = String.Format("select PNO 报纸编号,CAN 客户姓名,NUM 报纸数量 from sub_news where CAN='{0}'",textBox1.Text); try { sqconn.Open(); SqlDataAdapter sdat = new SqlDataAdapter(stri, sqconn); DataSet Dset = new DataSet(); sdat.Fill(Dset, "sub_news"); this.dataGridView1.DataSource = Dset.Tables["sub_news"]; //if (this.dataGridView1.Rows.Count != 0) } catch (Exception ex) { MessageBox.Show(ex.Message, "操作数据库错误!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { sqconn.Close(); } } private void textBox1_TextChanged(object sender, EventArgs e) { } } }4.6 管理员查看报纸信息的实现 图4-12 管理员查看 4.7管理员查看用户信息的实现 图4-13 管理员查看 4.8 管理员查看用户订阅信息的实现 图4-14 管理员查看 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 邮局订报 { public partial class tongji : Form { public tongji() { InitializeComponent(); } private void tongji_Load(object sender, EventArgs e) { SqlConnection sqconn = new SqlConnection("Data Source=.;Initial Catalog=newspaper;Integrated Security=True"); string stri = "select distinct PNA from news_info "; try { sqconn.Open(); SqlDataAdapter sdat = new SqlDataAdapter(stri, sqconn); DataSet Dset = new DataSet(); sdat.Fill(Dset); boBox1.DataSource = Dset.Tables[0]; } catch (Exception ex) { MessageBox.Show(ex.Message, "操作数据库错误!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { sqconn.Close(); } } private void button1_Click(object sender, EventArgs e) { string n- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 邮局 订报 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文