1、09级毕业作业班级 0901班 学号 090102 荆州职业技术学院信息技术系毕业设计 设计题目 车辆保险信息管理系统设计 指导教师 田 岭 (老师) 学生姓名 余 祥 熙 专 业 基 础 应 用 设计方向 信息管理系统设计与实施 2012 年 5月22日摘要美国著名人类未来学家托夫勒在其代表作第三次浪潮中论述了20世纪后半叶的信息革命,这场革命彻底改变企业的生产经营化境和方式。信息管理系统成为企业迎接信息化时代的机遇与应对挑战的必由之路。本文在阐述这一背景的基础之上,分析了信息管理系统设计的一般原则,并对汽车信息管理系统中关键技术指标的设计与实现进行了探讨。随着计算机技术的发展,特别是计算机
2、网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。 数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。而互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。产
3、业信息化,管理现代化,科学化已经成为行业发展的重要课题,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。在我国,教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的教育机构还没有全部具备这种功能。因此可见,随着我国教育的迅速发展,信息技术在其上
4、的应用会更加地广泛和深入。本文介绍了在C#环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个汽车管理信息系统的过程。系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。 【关键词】: 互联网、 信息技术 、管理系统 。目 录正文- 3 -一、“车辆保险系统”项目数据库设计- 4 -软、硬件环境:- 4 -数据库设计- 4 -数据库表结构- 4 -二、“信息管理系统”项目客户端设计- 6 -(一)登录模块- 6 -1.模块功能:能够输入车辆信息、保单信息,退出系统操作.- 6 -2.模块界面:附图.- 6 -3.模块
5、代码.- 6 -4.问题汇总.- 8 -(二)主界面模块- 9 -1.模块功能:输入车辆信息模块,输入保单信息模块.- 9 -2.模块界面:附图.- 9 -3模块代码(车辆信息/保单信息).- 9 -4问题汇总.- 14 -(三)表单信息浏览模块- 16 -1.模块功能:查询车辆信息、保单信息的数据表.- 16 -2.模块界面:附图.- 16 -3.模块代码.- 16 -4.问题汇总.- 17 -三、总结.- 18 -四、参考文献.- 18 -正文本论文是在学习了Visual C #.NET的开发技术原理、开发环境、应用程序,常用控件、数据库编程等的前提下,在老师的指导下,以C #语言和环境为
6、基础实现自主开发的面向对象的车辆保险信息的管理系统。它意在使我们熟练掌握Visual C #.NET的开发技术原理与环境的应用,能独立掌握所学习的知识并把它运用到实际中去,做的学以致用。这个“车辆保险系统”是我证实自己,结束学业的一个阶梯,是我迈向社会的第一步。一、“车辆保险系统”项目数据库设计软、硬件环境: C/S结构局域网,Windows XP操作系统,SQL及Microsoft Visual Studio 2005软件。数据库设计数据库文件名: (学生信息数据库);数据库所在路径:学生使用的本地服务器;数据库驱动程序: 数据表:CarInsurance表、CarInsurance表、共2
7、个表,附各表结构.数据库表结构create database CarsInsurancegouse CarsInsurancecreate table CarInformation(RegistMark nvarchar(10) primary key not null,HostName nvarchar(20) not null,HostID varchar(20) unique not null,Address nvarchar(50) not null,Telephone nvarchar(20) not null,DriveLisence datetime,CarType nvarch
8、ar(30) not null,PurchaseDate datetime not null,CarPrice money not null,CarNo nvarchar(30) not null,EngineNo nvarchar(30) not null,)goinsert into CarInformationinsert into CarInformation values(鄂,张三,422802199108022143,fwef4,jywerg,2001-1-1,ntew,2002-1-1,487500,jtyht,hrnserq)goinsert into CarInformati
9、on values(鄂,李田,422802199015798233,乐,机,2003-1-1,湖北武汉,2002-1-1,48838900,jytt,hyjuerq)goselect *from CarInformationselect RegistMark from CarInformationcreate table CarInsurance (PolicyID int identity primary key not null,RegistMark nvarchar(10) references carInformation(RegistMark) not null,StartDate
10、datetime not null,EndDate datetime not null,SignDate datetime default(getdate() not null,PolicyPrice money not null,)go二、信息管理系统”项目客户端设计(一) 登录模块1. 模块功能:能够输入车辆信息、保单信息,退出系统操作.2. 模块界面:附图.3. 模块代码.private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) this.Close();/关闭当前窗体 private void 添加保单Tool
11、StripMenuItem_Click(object sender, EventArgs e) tjbaodan frmCarInsu = new tjbaodan(); /新建一个窗体实例 /判断主窗体内是否含有该子窗体 Form forms = this.MdiChildren; foreach (Form f in forms) if (f.GetType() = frmCarInsu.GetType() f.Activate(); return; frmCarInsu.MdiParent = this; /让该窗体成为子窗体 frmCarInsu.Show(); /显示子窗体 priv
12、ate void toolStripMenuItem1_Click(object sender, EventArgs e) tjclxx G = new tjclxx();/新建一个窗体实例 /判断主窗体内是否含有该子窗体 Form forms = this.MdiChildren; foreach (Form f in forms) if (f.GetType() = G.GetType() f.Activate(); return; G.MdiParent = this;/让该窗体成为子窗体 G.Show();/显示子窗体 private void Form1_Load(object se
13、nder, EventArgs e) private void 查看保单信息ToolStripMenuItem_Click(object sender, EventArgs e) cxClxx D = new cxClxx();/新建一个窗体实例 /判断主窗体内是否含有该子窗体 Form forms = this.MdiChildren; foreach (Form f in forms) if (f.GetType() = D.GetType() f.Activate(); return; D.MdiParent = this;/让该窗体成为子窗体 D.Show();/显示子窗体 priva
14、te void 查看保单信息ToolStripMenuItem1_Click(object sender, EventArgs e) cxBaoDanxx W = new cxBaoDanxx();/新建一个窗体实例 /判断主窗体内是否含有该子窗体 Form forms = this.MdiChildren; foreach (Form f in forms) if (f.GetType() = W.GetType() f.Activate(); return; W.MdiParent = this;/让该窗体成为子窗体 W.Show();/显示子窗体 4. 问题汇总.1:创建窗体时,要注意设
15、置窗体属性,要让窗体不能改变大小,且没有最大化按键。2:注意设置窗体的IsMdiContainer 为True ,否则主窗体不能以父窗体身份调用子窗体。3:从工具箱中调用menuStrip控键,为窗体添加菜单项 , 在调用子窗体的时候,要注意调用代码,要求做到每次只能打开一个子窗体,在打开第二个子窗体的时候,会自动关闭第一个子窗体。4:要清晰编成思路,特别是在编写调用窗体代码的时候要注意代码的大小写。(二) 主界面模块1. 模块功能:输入车辆信息模块,输入保单信息模块.2. 模块界面:附图. 3 模块代码(车辆信息/保单信息).private void baoc_Click(object se
16、nder, EventArgs e) /搜集用户信息 string rm = this.txtpz.Text.Trim();/trim去掉多余的空格 string hn = this.txtczxm.Text.Trim(); string hi = this.txtsfzm.Text.Trim(); string ad = this.txtfdjhao.Text.Trim(); string tp = this.txtzjhao.Text.Trim(); string dl = this.txtxhsm.Text.Trim(); string ct = this.dateTimePicker2
17、.Value .ToString (); string pd = this.txtlxfs.Text.Trim(); string cp = this.txtjtzzhi.Text.Trim(); string cn = this.txtjg.Text.Trim(); string en = this.dateTimePicker1.Value .ToString (); /判断用户输入的数据是否完整 if(rm = |hn = |hi = |ad = |tp = |dl = |ct =|pd = |cp = |cn = |en = ) MessageBox.Show(请填写完整的车辆信息!)
18、; return; /判断汽车的价格是否为数值 double cnNum; try cnNum = double.Parse(cn); catch (Exception) MessageBox.Show(汽车的价格必须是数字,请确认后再输!); return; 18971624285 /连接到数据库 String ConnStr = Data Source=.;Initial Catalog=CarsInsurance;User ID=sa;Password=sa;/数据库连接字符(SQL用户登录) /string connStr = Data Sourse=.Initial Catalog=
19、CarsInsurance;Integrated Security=true;/(windows 用户登录) SqlConnection con = new SqlConnection(ConnStr);/产生一个数据库连接实例 con.Open();/打开链接 SqlCommand com = new SqlCommand(); /产生一个数据库命令执行的实例 com.Connection = con; /定义该数据库命令的具体数据库连接 /判断车辆信息是否存在 com.CommandText = select RegistMark from CarInformation;/定义sql命令字
20、符串 SqlDataReader sdr = com.ExecuteReader(); while (sdr.Read() if (sdr0.ToString()=rm) MessageBox.Show(车辆信息已存在,请重新输入新信息!); sdr.Close(); con.Close(); return; sdr.Close(); /保存汽车信息 com.CommandText = insert into CarInformation values( + rm + , + hn + , + hi + , + cp + , + pd + , + ct + , + dl + , + en +
21、, + cn + , + tp + , + ad + ); com.ExecuteNonQuery();/没有查询返回值 只需要执行 MessageBox.Show(信息保存成功!); con.Close (); . 模块代码(保单信息):private void btntesc_Click(object sender, EventArgs e) this.Close(); private void btnjs_Click(object sender, EventArgs e) string tb1 = this.txtqchepz.Text.Trim(); if (tb1 = ) Messa
22、geBox.Show(请输入用户信息!); return; string sql = Data Source=.;Initial Catalog=CarsInsurance;User ID=sa;Password=sa; SqlConnection con = new SqlConnection(sql); SqlCommand com = new SqlCommand(); com.Connection = con; com.CommandText = select * from CarInformation where RegistMark= + tb1 + ; con.Open(); S
23、qlDataReader sdr = com.ExecuteReader(); MessageBox.Show(sdr.HasRows.ToString(); if (!sdr.HasRows) MessageBox.Show(该车辆信息不存在); sdr.Close(); con.Close(); return; /while (sdr.Read() / / if (sdr0.ToString() = this.txtqchepz.Text) / / rm = this.txtqchepz.Text; / 如果输入的牌照在数据库中存在,则把查询出来的牌照赋值给一个变量 / break; /
24、/ /if (rm = ) /如果变量为空 则表示文本框中的牌照在数据库中不存在 / / MessageBox.Show(请输入信息或你输入的信息不存在!); / return; / /计算保费细节 sdr.Read(); double qx = 1050; double bf =-qx * 0.1; double bx= qx + bf; double dqx = double.Parse(sdr8.ToString() * 0.02; double t7 = -dqx * (DateTime.Now.Year - Convert.ToDateTime(sdr5).Year) * 0.01
25、+ (DateTime.Now.Year - Convert.ToDateTime(sdr7).Year) * 0.01); double bj = dqx + t7; double csx = Convert.ToDouble(sdr8) * 0.03; double t10 = -csx * (DateTime.Now.Year - Convert.ToDateTime(sdr5).Year) * 0.01 + (DateTime.Now.Year - Convert.ToDateTime(sdr7).Year) * 0.01); double bj3 = csx + t10; doubl
26、e szx = Convert.ToDouble(sdr8) * 0.01; double t12 = -szx * (DateTime.Now.Year - Convert.ToDateTime(sdr5).Year) * 0.01; double bj4 = szx + t12; double l20 = bx + bj + bj3 + bj4;/保费总额 sdr.Close(); con.Close(); /显示保费细节 txtqxian.Text = qx.ToString(); txtbaoxfd.Text = bf.ToString(); txtbxje.Text = bx.ToS
27、tring(); txtdqxian.Text = dqx.ToString(); textBox7.Text = t7.ToString(); txtbaoje2.Text = bj.ToString(); txtcsxian.Text = csx.ToString(); textBox10.Text = t10.ToString(); textbj3.Text = bj3.ToString(); txtszxian.Text = szx.ToString(); textBox12.Text = t12.ToString(); textbj4.Text = bj4.ToString(); l
28、abel20.Text = l20.ToString(); /按钮切换 btnbaoc.Enabled = true; btnjs.Enabled = false; private void btnbaoc_Click(object sender, EventArgs e) /搜集用户信息 string pz = this.txtqchepz.Text.Trim();/trim去掉多余的空格 string sx = this.dateTimePicker1.Value.ToString(); string zz = this.dateTimePicker2.Value.ToString();
29、string ze = this.label20.Text.Trim(); /连接到数据库 String ConnStr = Data Source=.;Initial Catalog=CarsInsurance;User ID=sa;Password=sa;/数据库连接字符(SQL用户登录) /string connStr = Data Sourse=.Initial Catalog=CarsInsurance;Integrated Security=true;/(windows 用户登录) SqlConnection con = new SqlConnection(ConnStr);/产生
30、一个数据库连接实例 con.Open();/打开链接 SqlCommand com = new SqlCommand(); /产生一个数据库命令执行的实例 com.Connection = con; /定义该数据库命令的具体数据库连接 /判断车辆信息是否存在 com.CommandText = select RegistMark from CarInformation;/定义sql命令字符串 SqlDataReader sdr3 = com.ExecuteReader();/产生一个数据读取的实例sdr,将查询结果赋予sdr实例 while (sdr3.Read() if (sdr30.ToS
31、tring() = pz) /向表中插入保费数据 com.CommandText = insert into PolicyID values( + pz + , + sx + , + zz + , + DateTime.Now + , + ze + ); sdr3.Close(); com.ExecuteNonQuery(); MessageBox.Show(信息已保存成功!); this.txtqchepz.Text = ; con.Close();/按钮切换 btnbaoc.Enabled = false; btnjs.Enabled = true; return; sdr3.Close(
32、); 4 问题汇总.1:注意打开数据库的命名空间,然后要注意自己数据库的打开输入。2:在进行车辆信息输入代码编写的时候,首先要分清你需要创建多少个文本框,然后要一次给文本框命名,并且需要自己能够区分。3:在进行窗体布局的时候,要从窗体的整体大小开始布局,不要让框架空余过多。一般在整体布局完成,然后进行和主窗体链接的时候,很多同学都回发现自己的子窗体和主窗体的大小差异很大,在显示的时候很不美观,所以在进行布局的时候要考虑到其他窗体的相互切换,记住你编写的是一个整体,不是哪一个和哪一个的单体。4:在进行保单信息输入编码的时候,要注意哪些文本框是输入的,哪些文本框是不可输入的,注意保险的购买比例数据
33、。在进行和数据库链接的时候,主要数据库代码的正确输入。5:在打开保单窗体的时候,要默认关闭菜单的保存按钮,只有在成功计算过保险费用后才能开启保存按键,点击保存按键保存保单信息到数据库。(三) 表单信息浏览模块1. 模块功能:查询车辆信息、保单信息的数据表.2. 模块界面:附图.3. 模块代码.private void cxBaodan_Load(object sender, EventArgs e) /建立数据库连接 /SqlConnection con = new SqlConnection(CarsInsurance.Properties.Resources.connStr); Strin
34、g ConnStr = Data Source=.;Initial Catalog=CarsInsurance;User ID=sa;Password=sa;/数据库连接字符(SQL用户登录) SqlConnection con = new SqlConnection(ConnStr);/产生一个数据库连接实例 SqlCommand cmd = new SqlCommand(); cmd.Connection = con; con.Open(); /在控件中显示车辆信息 cmd.CommandText = select * from CarInformation; SqlDataReader
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100