完整版C的汽车销售管理系统的设计与实现.docx

上传人:b****6 文档编号:6682604 上传时间:2023-01-08 格式:DOCX 页数:29 大小:376.55KB
下载 相关 举报
完整版C的汽车销售管理系统的设计与实现.docx_第1页
第1页 / 共29页
完整版C的汽车销售管理系统的设计与实现.docx_第2页
第2页 / 共29页
完整版C的汽车销售管理系统的设计与实现.docx_第3页
第3页 / 共29页
完整版C的汽车销售管理系统的设计与实现.docx_第4页
第4页 / 共29页
完整版C的汽车销售管理系统的设计与实现.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

完整版C的汽车销售管理系统的设计与实现.docx

《完整版C的汽车销售管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《完整版C的汽车销售管理系统的设计与实现.docx(29页珍藏版)》请在冰豆网上搜索。

完整版C的汽车销售管理系统的设计与实现.docx

完整版C的汽车销售管理系统的设计与实现

基于C#的汽车销售管理系统的设计与实现

摘要:

随着计算机技术的广泛应用,为了使计算机更高效、更科学地管理汽车销售市场,基于目前汽车销售的现状,利用C#开发的一个汽车管理系统,并对该系统整个开发过程就行详细论述。

该系统在设计方面采用B/S模式,使用C#技术和SQLServer2005数据库进行基本页面的设计与功能实现,本系统的设计实施为销售管理系统的运行做基础,为销售管理系统管理工作提供良好的条件。

关键字:

NET(C#);汽车销售管理系统;汽车销售

1引言

1.1研究背景

该系统是基于汽车销售公司的系统,汽车销售公司都是以汽车营销为主,且大多数汽车销售公司在全国都设有连锁机构,随着企业的不断扩大规模,业务量日益增多,企业管理层通过自己的方式解决个地区之间在销售过程中遇到的种种问题。

根据各销售地区业务流量,系统基于中文版SQLServer2005设计,采用较先进的。

Net(C#)技术进行开发,具有良好的稳定性和可靠性。

该销售管理系统,它可以完成对车辆信息的浏览、查询、修改及销售表单打印等功能,大大方便了销售员的管理。

而且它对传统的手工劳动冲击不大,备有的用户手册使用户不至于不适应,这样操作起来,用户也能快速的接受。

此系统是为了满足用户方便对该公司销售的汽车信息的查询,同时方便企业对汽车的各种管理与操作。

1。

2国内现状

汽车销售管理系统是销售行业的主要业务之一,汽车信息、用户信息日常工作管理成为及保存工作日趋繁重、复杂,且在日趋激烈的社会竞争中,客户量的多少是衡量一个企业在社会上的竞争力度,为此迫切需要一个能有效管理客户信息和对用户提出的需求做出快速反应的系统。

目前国内现状是:

国内众多中小企业迫切需要信息化管理,但是自己处于初步需求阶段,无法承受大型ERP、财务销售仓储一体信息化管理的中级阶段,自主开发的管理系统平台较低且功能单一,商用软件又过于注重通用性,无法充分考虑到具体每一个单位、具体部分的实际需求.

销售数据标准化程度差,难以保证数据的唯一性和权威性。

忽略了对销售数据的分析,使得销售经理需查询账单,才能了解销售情况,在一定程度上影响了对市场的判断.

没有注重对客户的管理,严重影响了企业对客户需求的了解,难以把握市场动态。

因此,开发一款功能全面操作简单的汽车销售管理系统是很有必要的,实现企业员工的集中管理、分散操作、信息共享,是传统的管理系统朝智能化,综合化得发展,并为近一步完善销售管理市场。

1.3研究内容

汽车销售管理系统是典型的信息管理系统,其开发主要包括前端应用程序的开发及数据库的建立。

前端得的应用程序要求应用程序功能完备、易使用等特点。

对于数据库的建立要求数据一致性和完整性强,业务逻辑紧凑的数据库机构及操作方法。

给予这些要求,我对SQLSever2005数据库管理系统、SQL语言原理、C#程序设计语言、visualStudio2010等进入了深入的学习和应用。

最终顺利完成了汽车销售管理系统的设计与实现

1.4本人所做的工作

为设计和实现汽车销售管理系统,针对该系统做了需求分析、功能划分、数据库模式分析、并为此设计了数据库结构和应用程序。

实现了本系统的基本功能:

登录管理员的权限判断,员工信息、车辆信息、用户信息的管理,保险、税费、活动等服务信息的管理。

本系统完全给予B/S结构,使用了C#windows窗体结构来完成本系统的设计,是一款功能全面,操作简单的销售管理系统。

1.5论文结构

引言主要叙述研究背景、国内现状的分析及本人主要做的工作。

第一章系统需求分析对系统的设计思想及系统共能分析。

第二章概要设计对系统总体机构进行分析及用户行为的分析。

第三章主要模块设计对系统各个模块操作进行分析设计页面.

第四章主要模块的实现写出模块间实现其功能代码。

第五章系统安装与调试安装调试相关的软件,并根据功能需求对系统进行调试.

2需求分析

2.1开发设计思想

减少系统对硬件的要求。

本系统在装有操作系统的计算机上均可使用.

节约了人力资源。

传统的手工式收集用户资料方式被计算机取代。

使用性:

为汽车信息、用户信心、员工信息管理提供便捷的方法。

操作简单:

保证系统适合于任何计算机水平的员工,尽可能的简单。

代码可读性好:

系统机构清晰,代码简洁可读,方便日后的扩展.

2。

2系统目标

本系统主要实现以下目标:

●员工管理。

增加、修改和删除分类及员工权限管理。

●用户管理.对已在本公司购车的用户信息管理。

●用户选车、购车。

根据用户需求查找适合用户需求的车辆。

●代办车务.在用户购车时,帮助用户代办汽车业务。

●管理员及公司员工登陆。

●管理员管理。

3概要设计

3。

1系统总体结构

图3.1汽车销售系统功能结构图

3.2员工行为分析

图3.2销售员工工作流程图

3.3经理行为分析

图3.3经理工作流程图

3。

4管理员行为分析

下面是看管理员的工作,其行为主要包括对用户权限的管理.如图3.4所示。

图3。

4管理员行为分析图

3。

5数据库概念设计图

3.5数据库逻辑设计图

3。

6数据库物理机构设计图

用户表(yonghu)

名称

类型

是否可为空

车辆编号

nchar(10)

NO,主键,外键

保险编号

nchar(10)

NO,主键,外键

用户姓名

vnchar(10)

NO

性别

nchar

(2)

NO

贯籍

nvarchar(50)

Yes

民族

nchar

(2)

Yes

出生年月

datetime

Yes

学历

nvarchar(15)

Yes

证件类型

nchar(10)

Yes

证件号码

nchar(18)

Yes

工作单位

varchar(50)

Yes

联系地址

varchar(50)

NO

联系电话

nchar(12)

NO

邮政编码

nchar(6)

Yes

婚姻状况

nchar(10)

Yes

汽车分类表(cars)

名称

类型

是否可为空

车辆编号

nchar(10)

NO,主键

厂牌型号

nvarchar(50)

NO

发动机号

varchar(50)

NO

车架号码

varchar(50)

NO

车辆类型

char(10)

NO

车辆性质

char(10)

NO

车身颜色

char(10)

NO

车辆价格

char(10)

NO

出厂日期

datetime

NO

保险表(baoxian)

名称

类型

是否可为空

保险编号

nchar(10)

NO,主键

保险名称

varchar(50)

NO

分类名称

char(10)

NO

员工信息表(YGB)

名称

类型

是否可为空

工号

nchar(10)

NO,主键

姓名

nchar(10)

NO

性别

nchar(10)

NO

贯籍

nchar(10)

NO

生日

datetime

YES

身份证号

nchar(18)

NO

联系电话

nchar(12)

NO

联系地址

varchar(50)

NO

邮编

nchar(6)

NO

部门

nchar(10)

NO

职务

nchar(10)

NO

销售表

名称

类型

是否可为空

工号

nchar(10)

NO,主键,外键

车辆编号

nchar(10)

NO,主键,外键

用户姓名

vnchar(10)

NO

保险编号

nchar(10)

NO,主键,外键

销售日期

datetime

NO

管理员信息表

名称

类型

是否可为空

userID

int

NO,主键

user_name

nchar(10)

NO

user_pswd

varchar(50)

NO

user_power

nchar(10)

NO

4主要模块详细设计

4.1登录模块分析

4.1登录模块分析

3.2购车建档模块分析

4.2购车建档模块分析

5主要模块的实现

5.1开发工具的选取

.NET(c#)技术是开发软件的技术之一,它继承了Microsoft的两项主要技术:

ActiveServerPage(ASP)和。

NETFramework。

利用.NETFramework提供的强大类库和预定义控件,。

NET开发windows窗体应用程序非常的方便。

其优点如下:

1)优良的性能。

C#windows窗体程序是在服务器上运行的编译好的代码.利用早期绑定、实时编译、本机优化和缓存服务来提高程序的性能。

2)强大的功能。

由于。

NET技术基于公共语言运行库,因此C#windows窗体应用程序开发人员可以利用整个平台的威力和灵活性。

3)简易性。

C#Windows窗体使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署.

4)自定义性和扩展性。

C#随附了一个设计周到的结构,它使开发人员可以在适当的级别"插入"代码。

5)安全性。

借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序是安全的.

虽然.NET可以支持多种开发语言,但只有C#是为.NETFramework量身定做的,它拥有所有.NETFramework提供的优点,如资源回收、内存自动管理等,能够最完美地体现。

NET的功能。

正是基于以上原因,本系统采用.NET(C#)技术来实现。

5.2公共类的编写

5。

2。

1widows窗体.Config文件的配置

以下是本系统与数据库建立连接的源代码:

publicstaticSqlConnectionGyDATE()

{

returnnewSqlConnection(@”DataSource=PC2011031418pts;InitialCatalog=汽车销售管理;IntegratedSecurity=True;Pooling=False;”);

}

5。

3主要模块的实现

5.3.1登录页面设计

汽车销售管理系统有一个严格的身份验证,不同身份的用户有不同的操作权限。

用户权限分为员工、经理、管理员三种,其中员工只能操作极少的页面,经理可以查看员工销售统计和管理员工信息.管理员具有最高权限,可以进行一切页面的操作。

登录用户登录系统后可以修改密码,在登录界面需输入用户名和密码并且选择身份,此三项若有一项不正确均不能登录到操作页面。

改页面具体实现过程如下:

5.1登录界面设计

登录按钮添加代码如下:

privatevoidbutton1_Click(objectsender,EventArgse)

if(textBox2.Text。

Trim()==string.Empty)

{

MessageBox.Show("请输入用户名”);

return;

}

if(textBox3。

Text.Trim()==string.Empty)

MessageBox.Show("请输入密码?

");

return;

using(SqlConnectioncon=newSqlConnection(@"DataSource=PC2011031418pts;InitialCatalog=汽车销售管理;IntegratedSecurity=True;Pooling=False;"))

用户登录。

loginId=textBox2。

Text。

Trim();

用户登录.loginATC=comboBox1。

Text.Trim();

stringsql=”select*fromuserstringwhereuser_name='”+textBox2。

Text。

Trim()+"'anduser_power=’"+comboBox1。

Text.Trim()+”'anduser_pswd='"+textBox3。

Text.Trim()+”’”;

con。

Open();

SqlDataAdapterda=newSqlDataAdapter(sql,con);

DataSetds=newDataSet();

da.Fill(ds);

DataTabledt=ds。

Tables[0];

if(dt。

Rows。

Count〉0)

MessageBox.Show(”登录成功");

主页面ff=new主页面();

ff。

Show();

this。

Visible=false;

}

else

{

MessageBox.Show("登录失败");

//comboBox1.Text=string。

Empty;

textBox2。

Text=string.Empty;

textBox3.Text=string.Empty;

}

}

}

5。

3.2购车建档设计

其中主要任务利用DateGridView显示数据库表中当前用户信息和建立新用户信息,也可对也有用户数据进行查询,也可打印当前构建的用户信息让用户确认,若有错误或资料不完整,可以对用户资料进行修改.完成效果如图5.2所示。

图5。

2购车建档页面设计效果

5.3。

2.1增加、保存、修改按钮实现在码如下:

SqlConnectionconn=getdate.GyDATE();

conn.Open();

stringstrSql=string.Format("选择相应表操作”);

SqlCommandcmd=newSqlCommand(strSql,conn);

inti=cmd.ExecuteNonQuery();

conn。

Close();

if(i>0)

MessageBox。

Show("操作成功");

}

else

{

MessageBox.Show(”操作失败”);

}

5。

3.2。

2查询按钮的实现代码如下:

privatevoidbutton4_Click(objectsender,EventArgse)

SqlConnectionconn=getdate。

GyDATE();

stringstr="select*frommaiche";

str+=”where用户姓名=’"+textBox14。

Text.Trim()+"'and国籍='”+textBox18。

Text.Trim()+"'and车身颜色='"+comboBox7.Text。

Trim()+”'and车牌号=’"+textBox19.Text.Trim()+"’and厂牌型号='"+comboBox8。

Text。

Trim()+"’";

SqlCommandCom=newSqlCommand(str,conn);

SqlDataAdaptermyda=newSqlDataAdapter();

myda.SelectCommand=Com;

conn。

Open();

DataSetmyds=newDataSet();

MessageBox。

Show(str);

myda.Fill(myds,”baoxiandengji”);

conn。

Close();

dataGridView1。

DataSource=myds;

dataGridView1。

DataMember="baoxiandengji";

SqlCommandcmd=newSqlCommand(str,conn);

}

5.3。

2.3导出按钮实现代码如下:

privatevoidbutton6_Click(objectsender,EventArgse)

try

{

DataGridViewToExcel(dataGridView1);

catch(Exceptionex)

MessageBox.Show(ex。

Message);

}

}

privatevoidDataGridViewToExcel(DataGridViewdgv)

{

SaveFileDialogdlg=newSaveFileDialog();

dlg。

Filter="Execlfiles(*.xls)|*.xls”;

dlg.FilterIndex=0;

dlg。

RestoreDirectory=true;

dlg.CreatePrompt=true;

dlg。

Title="保存为文件;

if(dlg。

ShowDialog()==DialogResult.OK)

{

StreammyStream;

myStream=dlg。

OpenFile();

StreamWritersw=newStreamWriter(myStream,System。

Text.Encoding。

GetEncoding(-0));

stringcolumnTitle="";

try

{

//写入列标题

for(inti=0;i〈dgv.ColumnCount;i++)

{

if(i〉0)

columnTitle+=”\t”;

}

columnTitle+=dgv.Columns[i].HeaderText;

sw.WriteLine(columnTitle);

//写入列内容

for(intj=0;j

Rows。

Count;j++)

stringcolumnValue=””;

for(intk=0;k

Count;k++)

if(k>0)

{

columnValue+=”\t”;

if(dgv。

Rows[j]。

Cells[k].Value==null)

columnValue+="";

else

columnValue+=dgv。

Rows[j]。

Cells[k].Value.ToString().Trim();

}

sw.WriteLine(columnValue);

}

sw.Close();

myStream.Close();

catch(Exceptione)

{

MessageBox.Show(e。

ToString());

}

finally

{

sw。

Close();

myStream。

Close();

}

5.3。

2.4打印按钮实现代码如下:

在publicpartialclass购车建档公共类中写入以下代码:

//打印文档

PrintDocumentpdDocument=newPrintDocument();

//打印格式设置页面

PageSetupDialogdlgPageSetup=newPageSetupDialog();

//打印页面

PrintDialogdlgPrint=newPrintDialog();

//实例化打印预览

PrintPreviewDialogdlgPrintPreview=newPrintPreviewDialog();

在public购车建档(){}函数中写入以下代码:

this。

dataGridView1。

CellClick+=newDataGridViewCellEventHandler(dataGridView1_CellClick);

pdDocument.PrintPage+=newPrintPageEventHandler(OnPrintPage);

btnPrint.Click+=newEventHandler(btnPrint_Click);

btnPrintView.Click+=newEventHandler(btnPrintView_Click);

btnPrintSetup。

Click+=newEventHandler(btnPrintSetup_Click);

//页面设置的打印文档设置为需要打印的文档

dlgPageSetup.Document=pdDocument;

//打印界面的打印文档设置为被打印的文档

dlgPrint.Document=pdDocument;

//打印预览的文档设置为被打印的文档

dlgPrintPreview.Document=pdDocument;

为打印功能写入实现代码,具体如下:

privatevoidbtnPrintView_Click(objectsender,EventArgse)

dlgPrintPreview。

ShowDialog();

///打印设置,此处需要添加一个打印设置的按钮

privatevoidbtnPrintSetup_Click(objectsender,EventArgse)

dlgPageSetup。

ShowDialog();

dlgPrint。

ShowDialog();

///printDocument的PrintPage事件,实现打功|能

privatevoidOnPrintPage(objectsender,PrintPageEventArgse)

intiX=60;

intiY=40;

PrintDataGridView11.Print(dataGridView1,true,e,refiX,refiY);

///打印,此处需添加一个打印按钮

privatevoidbtnPrint_Click(objectsender,EventArgse)

{

pdDocument.Print();

privatevoidForm1_Load(objectsender,EventArgse)

{

SqlConnectionsqlcon=newSqlConnection();

sqlcon.Open();

SqlDataAdapterda=newSqlDataAdapter(”select*fromAdminInfor”,sqlcon);

DataSetds=newDataSet();

da。

Fill(ds);

dataGridView1.DataSource=ds。

Tables[0];

sqlcon.Close();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1