1、完整版C的汽车销售管理系统的设计与实现基于C#的汽车销售管理系统的设计与实现摘要:随着计算机技术的广泛应用,为了使计算机更高效、更科学地管理汽车销售市场,基于目前汽车销售的现状,利用C开发的一个汽车管理系统,并对该系统整个开发过程就行详细论述。该系统在设计方面采用B/S模式,使用C技术和SQL Server 2005数据库进行基本页面的设计与功能实现,本系统的设计实施为销售管理系统的运行做基础,为销售管理系统管理工作提供良好的条件。关键字:NET(C#);汽车销售管理系统;汽车销售1 引 言1.1 研究背景该系统是基于汽车销售公司的系统,汽车销售公司都是以汽车营销为主,且大多数汽车销售公司在全
2、国都设有连锁机构,随着企业的不断扩大规模,业务量日益增多,企业管理层通过自己的方式解决个地区之间在销售过程中遇到的种种问题。根据各销售地区业务流量,系统基于中文版SQL Server 2005 设计,采用较先进的。Net(C#)技术进行开发,具有良好的稳定性和可靠性。 该销售管理系统,它可以完成对车辆信息的浏览、查询、修改及销售表单打印等功能,大大方便了销售员的管理。而且它对传统的手工劳动冲击不大,备有的用户手册使用户不至于不适应,这样操作起来,用户也能快速的接受。此系统是为了满足用户方便对该公司销售的汽车信息的查询,同时方便企业对汽车的各种管理与操作。1。2 国内现状 汽车销售管理系统是销售
3、行业的主要业务之一,汽车信息、用户信息日常工作管理成为及保存工作日趋繁重、复杂,且在日趋激烈的社会竞争中,客户量的多少是衡量一个企业在社会上的竞争力度,为此迫切需要一个能有效管理客户信息和对用户提出的需求做出快速反应的系统。目前国内现状是:国内众多中小企业迫切需要信息化管理,但是自己处于初步需求阶段,无法承受大型ERP、财务销售仓储一体信息化管理的中级阶段,自主开发的管理系统平台较低且功能单一,商用软件又过于注重通用性,无法充分考虑到具体每一个单位、具体部分的实际需求.销售数据标准化程度差,难以保证数据的唯一性和权威性。忽略了对销售数据的分析,使得销售经理需查询账单,才能了解销售情况,在一定程
4、度上影响了对市场的判断.没有注重对客户的管理,严重影响了企业对客户需求的了解,难以把握市场动态。因此,开发一款功能全面操作简单的汽车销售管理系统是很有必要的,实现企业员工的集中管理、分散操作、信息共享,是传统的管理系统朝智能化,综合化得发展,并为近一步完善销售管理市场。1.3 研究内容汽车销售管理系统是典型的信息管理系统,其开发主要包括前端应用程序的开发及数据库的建立。前端得的应用程序要求应用程序功能完备、易使用等特点。对于数据库的建立要求数据一致性和完整性强,业务逻辑紧凑的数据库机构及操作方法。给予这些要求,我对SQL Sever 2005 数据库管理系统、SQL语言原理、C#程序设计语言、
5、visual Studio 2010等进入了深入的学习和应用。最终顺利完成了汽车销售管理系统的设计与实现1.4 本人所做的工作为设计和实现汽车销售管理系统,针对该系统做了需求分析、功能划分、数据库模式分析、并为此设计了数据库结构和应用程序。实现了本系统的基本功能:登录管理员的权限判断,员工信息、车辆信息、用户信息的管理,保险、税费、活动等服务信息的管理。本系统完全给予B/S结构,使用了C# windows 窗体结构来完成本系统的设计,是一款功能全面,操作简单的销售管理系统。1.5 论文结构引 言 主要叙述研究背景、国内现状的分析及本人主要做的工作。第一章 系统需求分析 对系统的设计思想及系统共
6、能分析。第二章 概要设计 对系统总体机构进行分析及用户行为的分析。第三章 主要模块设计 对系统各个模块操作进行分析设计页面.第四章 主要模块的实现 写出模块间实现其功能代码。第五章 系统安装与调试 安装调试相关的软件,并根据功能需求对系统进行调试.2 需求分析2.1 开发设计思想减少系统对硬件的要求。本系统在装有操作系统的计算机上均可使用.节约了人力资源。传统的手工式收集用户资料方式被计算机取代。使用性:为汽车信息、用户信心、员工信息管理提供便捷的方法。操作简单:保证系统适合于任何计算机水平的员工,尽可能的简单。代码可读性好:系统机构清晰,代码简洁可读,方便日后的扩展.2。2 系统目标本系统主
7、要实现以下目标:员工管理。增加、修改和删除分类及员工权限管理。用户管理.对已在本公司购车的用户信息管理。用户选车、购车。根据用户需求查找适合用户需求的车辆。代办车务.在用户购车时,帮助用户代办汽车业务。管理员及公司员工登陆。管理员管理。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
8、)名称类型是否可为空车辆编号nchar(10)NO, 主键,外键保险编号nchar(10)NO, 主键,外键用户姓名vnchar(10)NO性别nchar(2)NO贯籍nvarchar(50)Yes民族nchar(2)Yes出生年月datetimeYes学历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, 主键厂牌型号
9、nvarchar(50)NO发动机号varchar(50)NO车架号码varchar(50)NO车辆类型char(10)NO车辆性质char(10)NO车身颜色char(10)NO车辆价格char(10)NO出厂日期datetimeNO保险表(baoxian)名称类型是否可为空保险编号nchar(10)NO, 主键保险名称varchar(50)NO分类名称char(10)NO员工信息表(YGB)名称类型是否可为空工号nchar(10)NO, 主键姓名nchar(10)NO性别nchar(10)NO贯籍nchar(10)NO生日datetimeYES身份证号nchar(18)NO联系电话ncha
10、r(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, 主键,外键销售日期datetimeNO管理员信息表名称类型是否可为空userIDintNO, 主键user_namenchar(10)NOuser_pswdvarchar(50)NOuser_powernchar(10)NO4 主要模块详细设计4.1 登录模块分析41登录模块分析3.2 购车建档模块分
11、析42购车建档模块分析5主要模块的实现5.1 开发工具的选取.NET(c#)技术是开发软件的技术之一,它继承了Microsoft的两项主要技术:Active Server Page(ASP)和。NET Framework。利用. NET Framework提供的强大类库和预定义控件,。NET开发windows窗体应用程序非常的方便。其优点如下:1)优良的性能。C# windows 窗体程序是在服务器上运行的编译好的代码.利用早期绑定、实时编译、本机优化和缓存服务来提高程序的性能。2)强大的功能。由于 。NET技术基于公共语言运行库,因此 C windows窗体应用程序开发人员可以利用整个平台的
12、威力和灵活性。3)简易性。C Windows 窗体使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署.4)自定义性和扩展性。C#随附了一个设计周到的结构,它使开发人员可以在适当的级别插入代码。5)安全性。借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的.虽然.NET可以支持多种开发语言,但只有C#是为. NET Framework量身定做的,它拥有所有. NET Framework提供的优点,如资源回收、内存自动管理等,能够最完美地体现。 NET 的功能。正是基于以上原因,本系统采用.NET(C#)技术来实现。5.2 公共类的编写5。2。1 w
13、idows窗体.Config文件的配置以下是本系统与数据库建立连接的源代码: public static SqlConnection GyDATE() return new SqlConnection(”Data Source=PC2011031418pts;Initial Catalog=汽车销售管理;Integrated Security=True;Pooling=False;”); 5。3 主要模块的实现5.3.1登录页面设计汽车销售管理系统有一个严格的身份验证,不同身份的用户有不同的操作权限。用户权限分为员工、经理、管理员三种,其中员工只能操作极少的页面,经理可以查看员工销售统计和管理
14、员工信息.管理员具有最高权限,可以进行一切页面的操作。登录用户登录系统后可以修改密码,在登录界面需输入用户名和密码并且选择身份,此三项若有一项不正确均不能登录到操作页面。改页面具体实现过程如下:5.1 登录界面设计登录按钮添加代码如下:private void button1_Click(object sender, EventArgs e) if (textBox2.Text。Trim() = string.Empty) MessageBox.Show(请输入用户名”); return; if (textBox3 。Text .Trim ()=string .Empty ) MessageB
15、ox.Show(请输入密码?); return; using (SqlConnection con = new SqlConnection(Data Source=PC2011031418pts;Initial Catalog=汽车销售管理;Integrated Security=True;Pooling=False;)) 用户登录。loginId = textBox2。Text。Trim(); 用户登录.loginATC = comboBox1。Text.Trim(); string sql = ”select from userstring where user_name= ” + tex
16、tBox2。Text。Trim() + and user_power = + comboBox1。Text.Trim() + ” and user_pswd = + textBox3。Text.Trim() + ” ”; con。Open(); SqlDataAdapter da = new SqlDataAdapter(sql, con); DataSet ds = new DataSet(); da.Fill(ds); DataTable dt = ds。Tables0; if (dt。Rows。Count 0) MessageBox.Show(”登录成功); 主页面 ff = new 主
17、页面(); 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.
18、1 增加、保存、修改按钮实现在码如下:SqlConnection conn = getdate.GyDATE(); conn.Open(); string strSql = string.Format(选择相应表操作”); SqlCommand cmd = new SqlCommand(strSql, conn); int i = cmd.ExecuteNonQuery(); conn。Close(); if (i 0) MessageBox。Show(操作成功); else MessageBox.Show(”操作失败”); 5。3.2。2 查询按钮的实现代码如下:private void b
19、utton4_Click(object sender, EventArgs e) SqlConnection conn = getdate。GyDATE(); string str = select * from maiche ; str += ”where 用户姓名= + textBox14。Text.Trim() + and 国籍= ” + textBox18。Text.Trim() + and 车身颜色= + comboBox7.Text。Trim() + ”and 车牌号= + textBox19.Text.Trim() + and 厂牌型号= + comboBox8。Text。Tri
20、m() + ; SqlCommand Com = new SqlCommand(str, conn); SqlDataAdapter myda = new SqlDataAdapter(); myda.SelectCommand = Com; conn。Open(); DataSet myds = new DataSet(); MessageBox。Show(str); myda.Fill(myds, ”baoxiandengji”); conn。Close(); dataGridView1。DataSource = myds; dataGridView1。DataMember = baoxi
21、andengji; SqlCommand cmd = new SqlCommand(str, conn); 5.3。2.3 导出按钮实现代码如下:private void button6_Click(object sender, EventArgs e) try DataGridViewToExcel(dataGridView1); catch (Exception ex) MessageBox.Show(ex。Message); private void DataGridViewToExcel(DataGridView dgv) SaveFileDialog dlg = new SaveFi
22、leDialog(); dlg。Filter = Execl files (*.xls)|*.xls”; dlg.FilterIndex = 0; dlg。RestoreDirectory = true; dlg.CreatePrompt = true; dlg。Title = 保存为文件; if (dlg。ShowDialog() = DialogResult.OK) Stream myStream; myStream = dlg。OpenFile(); StreamWriter sw = new StreamWriter(myStream, System。Text.Encoding。Get
23、Encoding(-0); string columnTitle = ; try /写入列标题 for (int i = 0; i dgv.ColumnCount; i+) if (i 0) columnTitle += ”t”; columnTitle += dgv.Columnsi.HeaderText; sw.WriteLine(columnTitle); /写入列内容 for (int j = 0; j dgv。Rows。Count; j+) string columnValue = ”; for (int k = 0; k 0) columnValue += ”t”; if (dgv
24、。Rowsj。Cellsk.Value = null) columnValue += ; else columnValue += dgv。Rowsj。Cellsk.Value.ToString().Trim(); sw.WriteLine(columnValue); sw.Close(); myStream.Close(); catch (Exception e) MessageBox.Show(e。ToString()); finally sw。Close(); myStream。Close(); 5.3。2.4 打印按钮实现代码如下:在public partial class 购车建档公共
25、类中写入以下代码:/打印文档 PrintDocument pdDocument = new PrintDocument(); /打印格式设置页面 PageSetupDialog dlgPageSetup = new PageSetupDialog(); /打印页面 PrintDialog dlgPrint = new PrintDialog(); /实例化打印预览 PrintPreviewDialog dlgPrintPreview = new PrintPreviewDialog();在public 购车建档()函数中写入以下代码:this。dataGridView1。CellClick+=
26、newDataGridViewCellEventHandler(dataGridView1_CellClick); pdDocument.PrintPage += new PrintPageEventHandler(OnPrintPage); btnPrint.Click += new EventHandler(btnPrint_Click); btnPrintView.Click += new EventHandler(btnPrintView_Click); btnPrintSetup。Click += new EventHandler(btnPrintSetup_Click); /页面设
27、置的打印文档设置为需要打印的文档 dlgPageSetup.Document = pdDocument; /打印界面的打印文档设置为被打印的文档 dlgPrint.Document = pdDocument; /打印预览的文档设置为被打印的文档 dlgPrintPreview.Document = pdDocument;为打印功能写入实现代码,具体如下:private void btnPrintView_Click(object sender, EventArgs e) dlgPrintPreview。ShowDialog(); / 打印设置,此处需要添加一个打印设置的按钮 private v
28、oid btnPrintSetup_Click(object sender, EventArgs e) dlgPageSetup。ShowDialog(); dlgPrint。ShowDialog(); / printDocument的PrintPage事件 ,实现打功能 private void OnPrintPage(object sender, PrintPageEventArgs e) int iX = 60; int iY = 40; PrintDataGridView11.Print(dataGridView1, true, e, ref iX, ref iY); / 打印,此处需
29、添加一个打印按钮 private void btnPrint_Click(object sender, EventArgs e) pdDocument.Print(); private void Form1_Load(object sender, EventArgs e) SqlConnection sqlcon = new SqlConnection(); sqlcon.Open(); SqlDataAdapter da = new SqlDataAdapter(”select from AdminInfor”, sqlcon); DataSet ds = new DataSet(); da。Fill(ds); dataGridView1.DataSource = ds。Tables0; sqlcon.Close();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1