当前位置:文档之家› 车辆保险信息管理系统毕业设计

车辆保险信息管理系统毕业设计

班级 0901班学号090102

荆州职业技术学院

信息技术系

设计题目车辆保险信息管理系统设计

指导教师田岭(老师)

学生姓名余祥熙

专业基础应用

设计方向信息管理系统设计与实施

2012 年5月22日

摘要

美国著名人类未来学家托夫勒在其代表作《第三次浪潮》中论述了20世纪后半叶的信息革命,这场革命彻底改变企业的生产经营化境和方式。信息管理系统成为企业迎接信息化时代的机遇与应对挑战的必由之路。本文在阐述这一背景的基础之上,分析了信息管理系统设计的一般原则,并对汽车信息管理系统中关键技术指标的设计与实现进行了探讨。随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。

数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。而互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。产业信息化,管理现代化,科学化已经成为行业发展的重要课题,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。

在我国,教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的教育机构还没有全部具备这种功能。因此可见,随着我国教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。

本文介绍了在C#环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个汽车管理信息系统的过程。系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。

【关键词】:互联网、信息技术、管理系统。

目录

正文....................................................................................................... - 3 - 一、“车辆保险系统”项目数据库设计 .............................................. - 4 -

软、硬件环境:..................................................................................................... - 4 - 数据库设计............................................................................................................ - 4 - 数据库表结构 ............................................................................................................... - 4 -

二、“信息管理系统”项目客户端设计 .............................................. - 6 -

(一)登录模块............................................................................................................ - 6 -

1. 模块功能:能够输入车辆信息、保单信息,退出系统操作. .............................. - 6 -

2. 模块界面:附图. ............................................................................................. - 6 -

3. 模块代码. ....................................................................................................... - 6 -

4. 问题汇总. ....................................................................................................... - 8 -

(二)主界面模块 ........................................................................................................ - 9 -

1. 模块功能:输入车辆信息模块,输入保单信息模块. ........................................ - 9 -

2. 模块界面:附图. ............................................................................................. - 9 -

3.模块代码(车辆信息/保单信息). ................................................................ - 9 - 4.问题汇总. ...................................................................................................- 15 -

(三)表单信息浏览模块.............................................................................................- 16 -

1. 模块功能:查询车辆信息、保单信息的数据表. ..............................................- 16 -

2. 模块界面:附图. ............................................................................................- 16 -

3. 模块代码. ......................................................................................................- 16 -

4. 问题汇总. ......................................................................................................- 17 -

三、总结. ............................................................................................ - 18 -

四、参考文献...................................................................................... - 18 -

正文

本论文是在学习了Visual C #.NET的开发技术原理、开发环境、应用程序,常用控件、数据库编程等的前提下,在老师的指导下,以C #语言和环境为基础实现自主开发的面向对象的车辆保险信息的管理系统。它意在使我们熟练掌握Visual C #.NET的开发技术原理与环境的应用,能独立掌握所学习的知识并把它运用到实际中去,做的学以致用。这个“车辆保险系统”是我证实自己,结束学业的一个阶梯,是我迈向社会的第一步。

一、“车辆保险系统”项目数据库设计

软、硬件环境:

C/S结构局域网,Windows XP操作系统,SQL及Microsoft Visual Studio 2005软件。

数据库设计

数据库文件名: (学生信息数据库);

数据库所在路径:学生使用的本地服务器;

数据库驱动程序:

数据表:CarInsurance表、CarInsurance表、共2个表,附各表结构.

数据库表结构

create database CarsInsurance

go

use CarsInsurance

create 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 nvarchar(30)not null,

PurchaseDate datetime not null,

CarPrice money not null,

CarNo nvarchar(30)not null,

EngineNo nvarchar(30)not null,

)

go

insert into CarInformation

insert into CarInformation values('鄂','张三

','422802************','fwef4','jywerg','2001-1-1','ntew','2002-1-1','487 500','jtyht','hrnserq')

go

insert into CarInformation values('鄂','李田','422802199015798233','乐','机','2003-1-1','湖北武汉','2002-1-1','48838900','jytt','hyjuerq')

go select*from CarInformation

select RegistMark from CarInformation

create table CarInsurance

(

PolicyID int identity primary key not null,

RegistMark nvarchar(10)references carInformation(RegistMark)not null, StartDate 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添加保单ToolStripMenuItem_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(); //显示子窗体

}

private 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 sender, 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();//显示子窗体

}

private 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:创建窗体时,要注意设置窗体属性,要让窗体不能改变大小,且没有最大化按键。

2:注意设置窗体的IsMdiContainer 为True ,否则主窗体不能以父窗体身份调用子窗体。

3:从工具箱中调用menuStrip控键,为窗体添加菜单项,在调用子窗体的时候,要注意调用代

码,要求做到每次只能打开一个子窗体,在打开第二个子窗体的时候,会自动关闭第一个子窗体。4:要清晰编成思路,特别是在编写调用窗体代码的时候要注意代码的大小写。

(二)主界面模块

1.模块功能:输入车辆信息模块,输入保单信息模块.

2.模块界面:附图.

.

3.模块代码(车辆信息/保单信息).

private void baoc_Click(object sender, EventArgs e)

{

//搜集用户信息

string rm = this.txtpz.Text.Trim();//trim去掉多余的空格

string hn = this.txtczxm.Text.Trim();

string ad = this.txtfdjhao.Text.Trim();

string tp = this.txtzjhao.Text.Trim();

string dl = this.txtxhsm.Text.Trim();

string ct = this.dateTimePicker2.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("请填写完整的车辆信息!");

return;

}

//判断汽车的价格是否为数值

double cnNum;

try

{

cnNum = double.Parse(cn);

}

catch (Exception)

{

MessageBox.Show("汽车的价格必须是数字,请确认后再输!");

return;

}189********

//连接到数据库

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);//产生一个数据库连接实例

con.Open();//打开链接

SqlCommand com = new SqlCommand(); //产生一个数据库命令执行的实例

com.Connection = con; //定义该数据库命令的具体数据库连接

//判断车辆信息是否存在

https://www.doczj.com/doc/c51313612.html,mandText = "select RegistMark from CarInformation";//定义sql命令字符串SqlDataReader sdr = com.ExecuteReader();

while (sdr.Read())

{

if (sdr[0].ToString()==rm)

MessageBox.Show("车辆信息已存在,请重新输入新信息!");

sdr.Close();

con.Close();

return;

}

}

sdr.Close();

//保存汽车信息

https://www.doczj.com/doc/c51313612.html,mandText = "insert into CarInformation values('" + rm + "','" + hn + "','" + hi + "','" + cp + "','" + pd + "','" + ct + "','" + dl + "','" + en + "','" + 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 == "")

{

MessageBox.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;

https://www.doczj.com/doc/c51313612.html,mandText = "select * from CarInformation where RegistMark='" + tb1 + "'";

con.Open();

SqlDataReader sdr = com.ExecuteReader();

MessageBox.Show(sdr.HasRows.ToString());

if (!sdr.HasRows)

{

MessageBox.Show("该车辆信息不存在");

sdr.Close();

con.Close();

return;

}

//while (sdr.Read())

//{

// if (sdr[0].ToString() == this.txtqchepz.Text)

// {

// rm = this.txtqchepz.Text; // 如果输入的牌照在数据库中存在,则把查询出来的牌照赋值给一个变量

// break;

// }

//}

//if (rm == "") //如果变量为空则表示文本框中的牌照在数据库中不存在

//{

// MessageBox.Show("请输入信息或你输入的信息不存在!");

// return;

//}

//计算保费细节

sdr.Read();

double qx = 1050;

double bf =-qx * 0.1;

double bx= qx + bf;

double dqx = double.Parse(sdr[8].ToString()) * 0.02;

double t7 = -dqx * ((DateTime.Now.Year - Convert.ToDateTime(sdr[5]).Year) * 0.01 + (DateTime.Now.Year - Convert.ToDateTime(sdr[7]).Year) * 0.01);

double bj = dqx + t7;

double csx = Convert.ToDouble(sdr[8]) * 0.03;

double t10 = -csx * ((DateTime.Now.Year - Convert.ToDateTime(sdr[5]).Year) * 0.01 + (DateTime.Now.Year - Convert.ToDateTime(sdr[7]).Year) * 0.01);

double bj3 = csx + t10;

double szx = Convert.ToDouble(sdr[8]) * 0.01;

double t12 = -szx * (DateTime.Now.Year - Convert.ToDateTime(sdr[5]).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.ToString();

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();

label20.Text = l20.ToString();

//按钮切换

btnbaoc.Enabled = true;

btnjs.Enabled = false;

}

private void btnbaoc_Click(object sender, EventArgs e)

{

//搜集用户信息

string sx = this.dateTimePicker1.Value.ToString();

string zz = this.dateTimePicker2.Value.ToString();

string ze = https://www.doczj.com/doc/c51313612.html,bel20.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);//产生一个数据库连接实例

con.Open();//打开链接

SqlCommand com = new SqlCommand(); //产生一个数据库命令执行的实例

com.Connection = con; //定义该数据库命令的具体数据库连接

//判断车辆信息是否存在

https://www.doczj.com/doc/c51313612.html,mandText = "select RegistMark from CarInformation";//定义sql命令字符串SqlDataReader sdr3 = com.ExecuteReader();//产生一个数据读取的实例sdr,将查询结果赋予sdr 实例

while (sdr3.Read())

{

if (sdr3[0].ToString() == pz)

{

//向表中插入保费数据

https://www.doczj.com/doc/c51313612.html,mandText = "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();

}

4.问题汇总.

1:注意打开数据库的命名空间,然后要注意自己数据库的打开输入。

2:在进行车辆信息输入代码编写的时候,首先要分清你需要创建多少个文本框,然后要一次给文本框命名,并且需要自己能够区分。

3:在进行窗体布局的时候,要从窗体的整体大小开始布局,不要让框架空余过多。一般在整体布局完成,然后进行和主窗体链接的时候,很多同学都回发现自己的子窗体和主窗体的大小差异很大,在显示的时候很不美观,所以在进行布局的时候要考虑到其他窗体的相互切换,记住你编写的是一个整体,不是哪一个和哪一个的单体。

4:在进行保单信息输入编码的时候,要注意哪些文本框是输入的,哪些文本框是不可输入的,注意保险的购买比例数据。在进行和数据库链接的时候,主要数据库代码的正确输入。

5:在打开保单窗体的时候,要默认关闭菜单的保存按钮,只有在成功计算过保险费用后才能开启保存按键,点击保存按键保存保单信息到数据库。

(三) 表单信息浏览模块

1.模块功能:查询车辆信息、保单信息的数据表.

2.模块界面:附图.

3.模块代码.

private void cxBaodan_Load(object sender, EventArgs e)

{

//建立数据库连接

//SqlConnection con = new SqlConnection(CarsInsurance.Properties.Resources.connStr);

String 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();

//在控件中显示车辆信息

https://www.doczj.com/doc/c51313612.html,mandText = "select * from CarInformation";

SqlDataReader sdr = cmd.ExecuteReader();

clxxCK.ReadOnly = true; //不让用户修改信息

clxxCK.ColumnCount = 11; //指定控件列数

String[] headLine = new String[] { "RegistMark", "HostName", "HostID", "Address", "Telephone", "DriveLisence", "CarType", "PurchasedDate", "CarPrice", "CarNO", "EngineNO" };

clxxCK.Rows.Add(headLine); //添加控件第一行(即表头)

while (sdr.Read())

{

//获取一条记录值

string rm = sdr[0].ToString();

string hn = sdr[1].ToString();

string hi = sdr[2].ToString();

string ad = sdr[3].ToString();

string tp = sdr[4].ToString();

string dl = sdr[5].ToString();

string ct = sdr[6].ToString();

string pd = sdr[7].ToString();

string cp = sdr[8].ToString();

string cn = sdr[9].ToString();

string en = sdr[10].ToString();

//将记录值写入控件中的一行

String[] line = new String[] { rm, hn, hi, ad, tp, dl, ct, pd, cp, cn, en };

clxxCK.Rows.Add(line);

}

sdr.Close();

con.Close();

4.问题汇总.

1:在窗体需要创建dgv 控件,然后需要在窗体启动的时候链接数据库,在进行一个窗体查询两个表的时候,首先要区分好它们的控件名称,然后还有在查看数据信息的时候绑定它们的行和列。2:在插入数据是首先要获取记录值,然后在将记录值写入到控件中的每一行。

三、总结.

这个车辆保险系统用到了:Microsoft SQL Server 2005 数据库;Visual C #.NET ;车辆信息保险管理。

在此项目的开发与应用中,首先是数据库的创建与应用,在Microsoft SQL Server 2005 数据库的运行环境下,用 SQL语句来实现数据库的创建,其要求对SQL语句的熟练掌握是显而易见的,对数据库的创建、数据库表的创建以及表中各字段名,还有主键外键,表与表之间的关联和约束,都需要熟练的掌握,才能正确的创建出数据。在创建出数据库和表之后,关键的一步是写入数据,既向各表中添加数据。

-----------------------------------------------------------------------------------当然学习编程是一个需要自己实际操作的过程,而不仅仅是看书,看资料的过程观念,亲自动手编写、调用程序才是至关重要的。通过实际的编程以及积极的思考,读者可以很快地掌握很多编程技巧,而且,在编程中读者会积累很多宝贵的经验。在当前的软件开发环境下,这种编程经验对开发者来说尤其显得不可欠缺。

在进行这个车辆保险系统程序的编写的时候,你不光要重书中了解到编程所需要的代码,以及方式,更要联系实际有一个编程的整体思路,这个书上是没有的,根据自己的编程思路,然后再网络上去寻找自己需要的资料,然后再和自己的实际以及书记相结合。这样才能够编写出一个真正有用、实用的程序,所以,编程不仅仅看书。而是,要自己动手动脑去实实在在的做。

在编程过程中,你会发现很多的错误,而且在发生了错误之后,你需要思考,寻找错在哪?这个就是一个收获的过程,自己寻找出自己的程序错误,然后更正它,这是你在书中和思考中学不到、办不到的事情,这个需要你的实际操作,需要你真实的完成。

所以,学习编程是要靠自己的努力,用你的时间,用你的双手,用你的逻辑思维去完成!这样才能最终实现梦想!

-----------------------------------------------------------------------------------------------------------------------------

四、参考文献.

[1] Visual C# NET 开发技术原理与实践教程

[2] C# 编写全思路

[3] Visual C#.NET程序设计

[4] SQL Server 2005 数据库应用教程

致谢

在本次设计的过程中,田岭老师们给了我们很大的帮助。不仅使我们在规定时间内完成了系统的设计,同时还使我们学到了很多有益的知识和宝贵的经验在此,我谨向他们表示最衷心的感谢。感谢田岭老师的指导,使我们充分利用软件工程,C#数据库原理开发出自己的项目.在开发的过程中使我体会到了工程化开发方法和瀑布模型利用的重要性,在此还要感谢所有合作参与项目开发的同学们这次毕业设计的成功。

相关主题
文本预览
相关文档 最新文档