网学网JSP,NET,JAVA类别编辑为广大网友搜集整理了:C#大型百货店POS积分管理系统绩等信息,祝愿广大网友取得需要的信息,参考学习。
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5模块功能代码实现过程 5.1积分履历表定期清除备份设计 1.初期处理:取得共通信息(INI),错误存在的时候,输出错误信息,并终止程序。 2.指定周前的日期的求得:错误存在的时候,终止程序。 3.cvs文件路径取得:错误存在的时候,输出错误信息,并终止程序。 4.输出开始日志:错误存在的时候,终止程序。 5.积分履历表的清除实行:从积分履历中,取得对象记录.但是,日期>”19000000”且日期<=指定周前的日期。取得数据输出到积分履历csv中,并清除。 6.输出结束日志 表8积分履历表定期清除备份数据项目移动表
各个模块中需要使用SkyConnect类以及共通文件(INI), SkyConnect类是用作数据库操作的,其将所有数据库操作所要用到的返回对象都封装在其中,这样就不用再在其它类中声明数据库连接对象对数据库进行连接操作,只需要声明SkyConnect的实例既可,每个模块前都有共通文件的检查,代码如下: IniConfig Conf = new IniConfig(); if (Conf.ErrorString == "1")//如果共通文件不存在 { …//输出出错信息 } else if (Conf.ErrorString == "2")//如果共通文件打不开 { …//输出出错信息 } else if (Conf.ErrorString == "3")//如果共通文件的内容有错 { …//输出出错信息 } SkyConnect类的实例化: SkyConnect sct = new SkyConnect(); 以上代码每个模块都将使用。 模块实现关键代码: public bool time_match(string str)//判断日期函数 FSPB0350 dj=new FSPB0350();//实例化 bool date = dj.time_match(_time);//表日期判断 if(date == false) { …//输出出错信息 } bool date = dj.time_match(_staticTime);//设置日期判断 if(date == false) { …//输出出错信息 } if(File.Exists(csvPath) == false)//POINT_RIREKI.CSV文件存在判断 { …//输出信息 } string timeString = _staticTime;//设置日期存放在字符串timeString中 if(DateTime.Parse(_time)>DateTime.Parse("1/1/190000:00:00")&& DateTime.Parse(_time) < DateTime.Parse(timeString))//表日期大于1900/00/00且表日期小于设置日期的判断 DataSet ds = sct.GetDataSet("select * from FSPTB_POINT_RIREKI where YMD<''" + ymdString + "''");//检索匹配数据,并存放到ds中 DataTable tb = ds.Tables[0]; StreamWriter sw=newStreamWriter(csvPath,true,System.Text.Encoding.Default);//积分履历日志CSV中写入数据 if(tb.Rows.Count == 0)//如果没有匹配的数据,输出信息 { …//输出信息 } else//有匹配数据 { foreach(DataRow dr in tb.Rows)//遍历表的每一行 { for(int i = 0;i < 10;i++)//表中有10个数据项 { sw.Write(dr[i].ToString() + ",");//写入数据,数据间用逗号分割 } sw.WriteLine();//每写入一行数据后,回车. } sct.SqlExecute("delete from FSPTB_POINT_RIREKI where YMD<''" + ymdString + "''");//在履历表中清除写入到CSV的数据 5.2积分更新日志表清除备份设计 1.初期处理:取得共同信息(INI),错误存在的时候,输出错误信息,并终止程序。 2.指定周前的日期的求得:错误存在的时候,终止程序。 3.cvs文件取得:错误存在的时候,输出错误信息,并终止程序。 4.输出开始日志:错误存在的时候,终止程序。 5.积分更新日志表的清除实行:更新日期<=指定周前的日期时,从积分更新日志中,取得对象记录。取得的数据输出到积分更新日志csv中,并清除。 6.输出结束日志 表9积分更新日志表清除备份数据项目移动表
5.3月购买额清除及处理设计 1.初期处理:取得共同信息(INI),错误存在的时候,输出错误信息,并终止程序。 2.读取积分表里的记录对每一条记录根据其更新区分字段进行相应处理。 3.读取会员身份表里的记录根据其更新区分字段进行相应处理,若更新区分字段有效则进行下列处理: 积分表更新:本月交易金额数据移入到上月交易项里,本月交易金额数据项置0。 会员状态表添加数据:积分表中的本月交易金额项数据大于0时:按积分表中的会员代码为主键,在会员状态表中检索。 没有匹配数据时进行下面的处理:按积分表中的会员代码为主键,在会员表中检索。如果匹配数据存在的话,从会员表往会员状态表中添加匹配数据。如果匹配数据不存在的话,输出错误信息到日志中。 4 输出结束日志 表10月购买额清除及处理数据移动表
表11月购买额清除及处理数据移动表
模块实现关键代码: DataSet ds1=sct.GetDataSet("select*from FSPTB_POINT where MUKOU_KBN<>1");//存放积分表中更新区分不为1的(有效)数据到ds中 DataTable tb1=ds1.Tables[0]; foreach (DataRow dr in tb1.Rows)//遍历表 tb1的每行数据 { sct.SqlExecute("update FSPTB_POINT set TUKI_KAIAGE_M=0,BEFORE_TUKI_KAIAGE_M=TUKI_KAIAGE_M where MEMBER_CODE=''"+dr["MEMBER_CODE"].ToString()+"''");//执行更新操作:本月交易金额数据移入到上月交易项里,本月交易金额数据项置0。 string temp3=dr["MEMBER_CODE"].ToString(); if(decimal.Parse(dr["TUKI_KAIAGE_M"].ToString())>0)// 本月交易金额项数据大于0 { DataSet ds2=sct.GetDataSet("select * from FSPTB_MEMBER_STATUS where MEMBER_CODE=''"+ dr["MEMBER_CODE"].ToString()+"''");//按积分表中的会员代码为主键,在会员状态表中检索 DataTable tb2=ds2.Tables[0]; if(ds2.Tables[0].Rows.Count==0)//如果匹配数据不存在 { DataSet ds3=sct.GetDataSet("select * from FSPTB_MEMBER where MEMBER_CODE =''"+ dr["MEMBER_CODE"].ToString()+"''");//按积分表中的会员代码为主键,在会员表中检索 DataTable tb3=ds3.Tables[0]; DataRow row1=tb3.Rows[0]; if (ds3.Tables[0].Rows.Count>0)//匹配数据存在 { DataSet ds4=sct.GetDataSet("SELECT TENPO_CODE from FROM FSPTB_MEMBER WHERE where MEMBER_CODE=''"+row1["MEMBER_CODE"].ToString()+"''");//以会员表中入会店铺编码为主键,在店铺表中检索 DataTable tb4=ds4.Tables[0]; DataRow row2=tb4.Rows[0]; string temp1=row1["TENPO_CODE"].ToString();//匹配的店铺编码放到temp1中 DataSet ds5=sct.GetDataSet("SELECT DOMINANT_CODE FROM FSPTB_TENPO WHERE TENPO_CODE ="+temp1);//检索店铺编码的优先级别编码 DataTable tb5=ds5.Tables[0]; DataRow row3=tb5.Rows[0]; string temp2=row3["DOMINANT_CODE"].ToString();//将优先级别编码存放到temp2中; string sqlFormat ="INSERT INTO FSPTB_MEMBER_STATUS)"+"VALUES(''{0}'',''{1}'',''{2}'',''{3}'',''{4}'',''{5}'',''{6}'',''{7}'')"; string sql = string.Format(sqlFormat,"''"+temp3+"''","NULL","''"+temp1+"''", "''"+temp2+"''","NULL","NULL","2","MEMBER_STATUS_AUTOID.NEXTVAL"); sct.SqlExecute(sql);//执行数据库将匹配数据保存到会员状态表中 } 6测试工程 6.1测试准备 本系统属于一款商务应用型软件,因此,对各种可能出现的错误情况要有很高的检测能力,并进行响应处理。所以,在软件开发完成后,为了检验是否达到客户要求需要进行全面的测试,包括程序的逻辑处理,输入/输出处理,边界条件判断,异常处理等。在进行测试前,应针对上述各情况填写一份全面的单元测试检测清单。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
本文选自计算机毕业设计http://myeducs.cn |