您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 进销存系统――教学阶段二任务1
Hands-On实训教程系列进销存管理系统教学阶段二(任务1:销售员和商品管理)Hands-On实训教程系列回顾项目背景需求描述需求分析模块划分概要设计开发环境多层架构搭建Hands-On实训教程系列目标实现销售员和商品管理功能完成程序框架搭建编写通用sql语句执行类完成销售员添加和删除功能完成商品添加和删除功能Hands-On实训教程系列进度控制本任务4课时理论2课时实践4课时Hands-On实训教程系列任务需求-销售员可以添加、修改和删除销售员,销售员与客户之间存在交易记录时不允许删除销售员的信息包括:销售员工的编号(必添,1-8字符)中文姓名(必添,=5个中文字符)英文姓名(=60位字符)电话(=20位字符)移动电话(=20位字符)联络地址(=25位字符)电子邮件(验证格式,=30位字符)Hands-On实训教程系列任务需求-商品可以添加、删除商品,如果商品存在采购或销售记录不允许删除商品的信息包括:商品编号(必添,1-8字符)商品名称(必添,=15位字符)安全存量(只能输入整数和小数)建议采购价(只能输入整数和小数)建议销售价(只能输入整数和小数)最后一次进货日期(添加商品时不出现)最后一次销售日期(添加商品时不出现)实际库存数量(添加商品时不出现)Hands-On实训教程系列业务流程图-销售员销售员业务流程图Hands-On实训教程系列商品业务流程图业务流程图-商品Hands-On实训教程系列输入输出设计-销售员项目数据类型I/O要求必填/必显数值范围格式要求/举例销售员工编号字符O/I√1-8位001中文姓名字符O/I√1-5位张三英文姓名字符O/I×0-60位zhangSan电话字符O/I×0-20位85693214移动电话字符O/I×0-20位13012476851联络地址字符O/I×0-25位北京海淀区电子邮件字符O/I×0-30位zy@163.comHands-On实训教程系列输入输出设计-商品项目数据类型I/O要求必填/必显数值范围格式要求/举例商品编号字符O/I√1-8位001商品名称字符O/I√1-15位热水器安全库存数字O/I×0-18位100最后进货日期日期O/I×8位2008-1-1最后送货日期日期O/I×8位2008-1-1当前数据数字O/I×0-18位1000建议购买价数字O/I×0-18位100.5建议销售价数字O/I×0-18位100.15Hands-On实训教程系列数据库设计1新建数据库PSS新建销售人员表SalesMan表名SalesMan(销售人员表)列名数据类型(精度范围)空/非空约束条件说明SalesManIDvarchar(8)非空PK销售员编号ChineseNamevarchar(10)非空中文名称EnglishNamevarchar(60)允许空英文名称Telephonevarchar(20)允许空电话MobilePhonevarchar(20)允许空移动电话ContactAddressvarchar(50)允许空联络地址Emailvarchar(30)允许空电子邮件设置为主键Hands-On实训教程系列数据库设计2新建产品表Product表名Product(产品表)列名数据类型(精度范围)空/非空约束条件说明ProductID0varchar(8)非空PK商品编号ProductName1varchar(30)非空商品名称SafeStock2decimal(18,0)非空Defalut:0安全库存LastPurchaseDate3Datetime空最后进货日期LastDeliveryDate4Datetime空最后送货日期Quantity5decimal(18,0)非空Defalut:0当前数量SuggestBuyPrice6decimal(18,2)空建议购买价SuggestSalePrice7decimal(18,2)空建议销售价设为主键设置默认值Hands-On实训教程系列界面设计-程序主界面菜单栏窗体背景Hands-On实训教程系列界面设计-销售员窗体销售员资料窗体添加销售员资料窗体Hands-On实训教程系列界面设计-商品窗体商品资料窗体添加商品资料窗体Hands-On实训教程系列思路销售员类关系图商品类关系图Hands-On实训教程系列代码实现-通用SQL语句执行类通用数据访问类,为数据访问层提供与数据库交互的方法,负责执行数据访问层传递的SQL语句或存储过程。数据访问层传递SQL语句通用数据访问类执行SQL语句Hands-On实训教程系列代码实现-通用SQL语句执行类ExecuteNonQuery方法负责执行SQL语句并返回受影响的行数ExecuteDataTable方法负责执行SQL语句并返回DataTable对象ExecuteDataReader方法负责执行SQL语句并返回DataReader对象ExecuteScalarT方法负责执行SQL语句并返回T类型对象Hands-On实训教程系列代码实现-通用SQL语句执行类通用数据访问类提供了对事务的支持事务(Transaction)是并发控制的基本单位。所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位例如:银行转帐工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行Hands-On实训教程系列代码实现-通用SQL语句执行类在.net中使用如下代码实现事务://事务处理对象privateSqlTransactionsqlTransaction=null;//开始事务sqlTransaction=conn.BeginTransaction();//提交事务sqlTransaction.Commit();//回滚事务sqlTransaction.Rollback();Hands-On实训教程系列代码实现-销售员实体类编写销售员数据实体类publicclassSalesMan{privatestring_salesmanid;///summary///销售员编号////summarypublicstringSalesManID{set{_salesmanid=value;}get{return_salesmanid;}}……}Hands-On实训教程系列代码实现-商品实体类编写商品数据实体类publicclassProduct{//最后进货日期privateDateTime?_lastpurchasedate;///summary///最后进货日期////summarypublicDateTime?LastPurchaseDate{set{_lastpurchasedate=value;}get{return_lastpurchasedate;}}}可为空的值类型Hands-On实训教程系列代码实现-销售员数据访问类usingSystem.Data.SqlClient;usingPSS.Module;publicclassSalesManDA{SqlDataHelperdataHelper=null;publicSalesManDA(){dataHelper=newSqlDataHelper();}publicintAdd(SalesMansalesMan){//声明参数数组SqlParameter[]parames=newSqlParameter[7];//为每个参数赋值parames[0]=newSqlParameter(@salesmanId,SqlDbType.VarChar);parames[0].Value=salesMan.SalesManID;……//调用通用数据库访问类方法执行sql语句dataHelper.ExecuteNonQuery(sql,CommandType.Text,parames);}}引用命名空间实例化通用数据访问对象Hands-On实训教程系列代码实现-商品数据访问类//删除商品publicintDelete(stringproductID){……try{dataHelper.ExecuteNonQuery(sql,CommandType.Text,parames);}catch(SqlExceptionerr){//首先进行业务验证,被交易过的记录不允许被删除if(err.Number==547){flag=1;}else{thrownewException(“……”)}}……}检查商品是否存在交易记录中Hands-On实训教程系列代码实现-表示层代码验证电子邮件//验证用户输入privateboolValidateInput(){//验证邮箱的格式Regexrx=newRegex(@\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*);if(rx.IsMatch(emailTxt.Text)){returntrue;}else{returnfalse;}}使用正则表达式验证电子邮件格式Hands-On实训教程系列代码实现-表示层代码调用数据访问层方法保存数据///summary///给salesManDataGridView加载数据////summaryprivatevoidLoadData(){//实例化销售员数据访问类SalesManDAsalesManDA=newSalesManDA();//调用数据访问对象方法获取数据salesmanBindingSource.DataSource=salesManDA.GetInfo();//绑定数据salesManDataGridView.DataSource=salesmanBindingSource;}Hands-On实训教程系列代码实现-运行效果1阶段运行效果销售员添加销售员删除Hands-On实训教程系列代码实现-运行效果1阶段运行效果商品添加商品列表Hands-On实训教程系列任务总结编写通用SQL语句执行类使用ADO.NET与数据库进行数据交互对用户输入的数据进行合法性验证程序的结构和各个层次之间的调用关系Hands-On实训教程系列FAQ1.VisualStudio2008是否兼容.netframework2.0?答:使用VisualStudio2008可以进行基于多个.netframework版本的开发,VisualStudio2008同时支持framework2.0/3.0和3.5几个版本。2..netframework3.5有那些新的特性?答:可以通过下图来了解.netframework3.5的总体框架:
本文标题:进销存系统――教学阶段二任务1
链接地址:https://www.777doc.com/doc-3605456 .html