将C/S架构的导出改成B/S架构的导出

问题描述

usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.IO;usingSystem.Data;usingSystem.Data.OleDb;usingSystem.Collections;usingSystem.Diagnostics;namespaceStaffManagement{classImpAndExpXls{constStringDATABASE_MDB="Provider=Microsoft.Jet.OleDb.4.0;DataSource=StaffManagement.mdb;JetOLEDB:DatabasePassword=123456";constStringDATABASE_EXCEL="Provider=Microsoft.Jet.OLEDB.4.0;DataSource={0};ExtendedProperties="Excel8.0"";constStringFILE_EXCEL_MODEL="{1}ExpModel{0}.xls";constStringSQL_GET_COUNT="SelectCount(0)FromvwEmpWhereWorkIDLike'{0}%'And{1}And{2};";constStringSQL_GET_DATA0="SelectTop{0}*"+"FromvwEmpWhereWorkIDLike'{1}%'And{2}And{3}OrderByIDDesc;";constStringSQL_GET_DATA1="SelectA.*From"+"(Selecttop{0}*FromvwEmpWhereWorkIDLike'{2}%'And{3}And{4}OrderByIDDESC)AsA"+"LeftJoin"+"(Selecttop{1}*FromvwEmpWhereWorkIDLike'{2}%'And{3}And{4}OrderByIDDESC)AsBOnA.WORKID=B.WORKIDWhereB.WorkIDIsNull;";constStringSQL_EXPORT_EXCEL="InsertInto[EmpImport$](工号,姓名,部门,性别,职务,身份证,户籍地址,入职时间,离职时间,指纹1,指纹2,身份证照片)"+"Values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}');";constStringSQL_INSERT_WORKERINFO="INSERTINTO[WorkerInfo]([WorkID],[Name],[Dep],[Post],[CardID],[InDate])"+"VALUES('{0}','{1}','{2}','{3}','{4}',{5});";constStringSQL_INSERT_INSTAFFINFO="INSERTINTO[InStaffInfo]([WorkID],[Name],[Dep],[Post],[Sex],[CardID],[Address],[InDate],[PrintFinger1],[PrintFinger2],[FilePath])"+"VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}',{7},'{8}','{9}','{10}');";constStringSQL_INSERT_OUTSTAFFINFO="INSERTINTO[OutStaffInfo]([WorkID],[Name],[Dep],[Post],[Sex],[CardID],[Address],[InDate],[OutDate],[PrintFinger1],[PrintFinger2],[FilePath])"+"VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}',{7},{8},'{9}','{10}','{11}');";constStringSQL_UPDATE_WORKERINFO="Update[WorkerInfo]Set[Name]='{1}',[Dep]='{2}',[Post]='{3}',[CardID]='{4}',[InDate]={5}Where[WorkID]='{0}';";constStringSQL_UPDATE_INSTAFFINFO="Update[InStaffInfo]Set[Name]='{1}',[Dep]='{2}',[Post]='{3}',[Sex]='{4}',[CardID]='{5}',[Address]='{6}',[InDate]={7},[PrintFinger1]='{8}',[PrintFinger2]='{9}',FilePath='{10}'Where[WorkID]='{0}';";constStringSQL_UPDATE_OUTSTAFFINFO="Update[OutStaffInfo]Set[Name]='{1}',[Dep]='{2}',[Post]='{3}',[Sex]='{4}',[CardID]='{5}',[Address]='{6}',[InDate]={7},[OutDate]={8},[PrintFinger1]='{9}',[PrintFinger2]='{10}',FilePath='{11}'Where[WorkID]='{0}';";constStringSQL_DELETE_INSTAFFINFO="DeleteFrom[InStaffInfo]Where[WorkID]='{0}';";constStringSQL_DELETE_OUTSTAFFINFO="DeleteFrom[OutStaffInfo]Where[WorkID]='{0}';";constStringSQL_IMPORT_EXCEL="Select*from[EmpImport$]";constStringERROR_WORKID_NOTINPUT="工号不能空!";constStringERROR_INDATE_FORMAT="入职时间格式错误应填写XXXX-XX-XX或XXXX-X-X!";constStringERROR_OUTDATE_FORMAT="离职时间格式错误应填写XXXX-XX-XX或XXXX-X-X!";constStringERROR_INDATE_OUTDATE_NOT="入职时间和离职时间不能同时填写!";constStringERROR_CARDID_LENGTH="身份证只能填写15位或18位!";constStringERROR_ADDNEW_DATA="添加新信息,工号,姓名和入职时间必填,离职时间不必填!";constStringERROR_OPENFILE_TITLE="导入批量员工";

解决方案

解决方案二:
#region"ExpModel导出模板"publicstaticboolExpModel(){String_xlsfile=String.Format(FILE_EXCEL_MODEL,"",Directory.GetCurrentDirectory()+"\");bool_isExp=false;SaveFileDialog_savedialog;try{if(!File.Exists(_xlsfile)){thrownewException("ExpModel方法:ExpModel模板文件不存在!");}_savedialog=newSaveFileDialog();_savedialog.Title="导出【导入Excel模板】";_savedialog.DefaultExt="*.xls";_savedialog.Filter="xlsfiles(*.xls)|*.xls";_savedialog.RestoreDirectory=true;_savedialog.FileName=String.Format(FILE_EXCEL_MODEL,DateTime.Now.ToString("yyyyMMddHHmmss"),Directory.GetCurrentDirectory()+"\");;if(DialogResult.OK==_savedialog.ShowDialog()){//Stream_stream=_savedialog.OpenFile();//if(_stream!=null)//{//_stream.Close();//}File.Copy(_xlsfile,_savedialog.FileName);_isExp=true;}_savedialog.Dispose();}catch(IOExceptione0){_isExp=false;thrownewException(e0.Message);}catch(Exceptione1){_isExp=false;thrownewException(e1.Message);}finally{}return_isExp;}#endregion

解决方案三:
#region"取出数据"publicstaticDataTableGetData(StringpWorkID,UInt16pIsIn,UInt16pIsFinger,UInt32pPageNumber,UInt32pPageSize,outUInt32pPageCount,outUInt32pCount){String_isIn=pIsIn==1?"OutDateIsNull":(pIsIn==0?"OutDateIsNotNull":"0=0");String_isFinger=pIsFinger==1?"PrintFinger1IsNotNull":(pIsFinger==0?"PrintFinger1IsNull":"0=0");String_workid=null==pWorkID?"":pWorkID;OleDbConnection_connect=newOleDbConnection(DATABASE_MDB);OleDbCommand_cmdcount=newOleDbCommand(String.Format(SQL_GET_COUNT,_workid,_isIn,_isFinger),_connect);OleDbCommand_cmd=newOleDbCommand();OleDbDataAdapter_adapter=newOleDbDataAdapter();_cmd.Connection=_connect;_adapter.SelectCommand=_cmd;DataTable_dt=null;pCount=0;pPageCount=0;try{_connect.Open();//_cmdcount.CommandText="SELECTCount(0)asiCountFROMvwEmpWhereWorkIDLike'%';";pCount=(UInt32)(int)_cmdcount.ExecuteScalar();pPageCount=(UInt32)Math.Ceiling(((double)pCount)/pPageSize);if(1==pPageNumber){_cmd.CommandText=String.Format(SQL_GET_DATA0,pPageSize,_workid,_isIn,_isFinger);}elseif(pPageNumber>1){_cmd.CommandText=String.Format(SQL_GET_DATA1,pPageNumber*pPageSize,(pPageNumber-1)*pPageSize,_workid,_isIn,_isFinger);}else{_cmd.CommandText=String.Format(SQL_GET_DATA0,100000,_workid,_isIn,_isFinger);}_dt=newDataTable("Emp");_adapter.Fill(_dt);}catch(OleDbExceptione0){if(null!=_dt){_dt.Dispose();_dt=null;}thrownewException("GetData方法:"+e0.Message);}catch(Exceptione1){if(null!=_dt){_dt.Dispose();_dt=null;}thrownewException("GetData方法:"+e1.Message);}finally{if(ConnectionState.Closed!=_connect.State){_connect.Close();}_connect.Dispose();_adapter.Dispose();_cmdcount.Dispose();_cmd.Dispose();}return_dt;}#endregion

解决方案四:
#region"导出数据"publicstaticboolExpData(StringpWorkID,UInt16pIsIn,UInt16pIsFinger){String_xlsfile=String.Format(FILE_EXCEL_MODEL,"",Directory.GetCurrentDirectory()+"\");bool_isExp=false;SaveFileDialog_savedialog;OleDbConnection_connect=newOleDbConnection();OleDbCommand_cmd=newOleDbCommand();OleDbTransaction_trans;_cmd.Connection=_connect;UInt32_count=0;UInt32_pagecount=0;DateTime_startdate=DateTime.MinValue,_enddate=DateTime.MinValue;bool_isstart=false,_isend=false;try{DataTable_dt=GetData(pWorkID,pIsIn,pIsFinger,1,100000,out_pagecount,out_count);if(!File.Exists(_xlsfile)){thrownewException("ExpData方法:ExpModel模板文件不存在!");}_savedialog=newSaveFileDialog();_savedialog.Title="导出员工数据到Excel";_savedialog.DefaultExt="*.xls";_savedialog.Filter="xlsfiles(*.xls)|*.xls";_savedialog.RestoreDirectory=true;_savedialog.FileName=String.Format("{1}ExpData{0}.xls",DateTime.Now.ToString("yyyyMMddHHmmss"),Directory.GetCurrentDirectory()+"\");if(DialogResult.OK!=_savedialog.ShowDialog()){_savedialog.Dispose();return_isExp;}String_filename=_savedialog.FileName;_savedialog.Dispose();File.Copy(_xlsfile,_filename);if(null==_dt){thrownewException("ExpData方法:未取得数据.");return_isExp;}_connect.ConnectionString=String.Format(DATABASE_EXCEL,_filename);_connect.Open();_trans=_connect.BeginTransaction();_cmd.Transaction=_trans;try{foreach(DataRow_rowin_dt.Rows){//_cmd.CommandText=String.Format(SQL_EXPORT_EXCEL,_row["WorkID"],_row["Name"],_row["Dep"],//_row["Sex"]==null?"-":_row["Sex"].ToString(),_row["Post"],_row["CardID"],//_row["InDate"]==null?"-":((DateTime)_row["InDate"]).ToString("yyyy-MM-dd"),//_row["OutDate"]==null?"-":((DateTime)_row["OutDate"]).ToString("yyyy-MM-dd"),//_row["PrintFinger1"]==null?"-":_row["PrintFinger1"].ToString(),//_row["PrintFinger2"]==null?"-":_row["PrintFinger2"].ToString());_enddate=_startdate=DateTime.MinValue;_isstart=DateTime.TryParse(_row["InDate"].ToString(),out_startdate);_isend=DateTime.TryParse(_row["OutDate"].ToString(),out_enddate);_cmd.CommandText=String.Format(SQL_EXPORT_EXCEL,_row["WorkID"],_row["Name"],_row["Dep"],_row["Sex"],_row["Post"],_row["CardID"],_row["Address"],_isstart?_startdate.ToString("yyyy-MM-dd"):"",_isend?_enddate.ToString("yyyy-MM-dd"):"",_row["PrintFinger1"],_row["PrintFinger2"],_row["FilePath"]);_cmd.ExecuteNonQuery();}_trans.Commit();}catch(OleDbExceptione3){_trans.Rollback();thrownewException("ExpData方法:"+e3.Message);}}catch(OleDbExceptione2){_isExp=false;thrownewException("ExpData方法:"+e2.Message);}catch(IOExceptione0){_isExp=false;thrownewException("ExpData方法:"+e0.Message);}catch(Exceptione1){_isExp=false;thrownewException("ExpData方法:"+e1.Message);}finally{if(ConnectionState.Closed!=_connect.State){_connect.Close();}_connect.Dispose();}return_isExp;}#endregion

解决方案五:
代码是写出来的,不是改出来的。不要以为代码是上帝发明的,程序员就是把它们粘贴来粘贴去。也不要以为,没有代码,就什么也做不了了。自己写一个也不费事,何况这代码也没有什么修改的价值。
解决方案六:
会改就改,不会改就闪,烦不烦人啊,唧唧歪歪的。。。
解决方案七:
啥时候有写代码的水平
解决方案八:
有这水平,谁高兴去改代码哦。。
解决方案九:
会的人多着呢,为什么老板偏偏找你这样不会的?因为老板开不起让会的人满意的价码。所以不会的人将就顶替会的人,他们出工出不了力,他们天天在网上搜罗代码垃圾,然后用垃圾拼凑翻新出软件。这些软件再卖给买不起软件的人。
解决方案十:
哈哈,胡乱说说而已。lz等高手吧。
解决方案十一:
你会那你改啊,有本事你就改出来啊,在这里光说,谁都会说。。谁都是从看别人代码过来的,该代码也是学习的基础。每个公司都去用经验丰富的人,让我们新人何以立足。。
解决方案十二:
淡定......

时间: 2024-08-23 10:48:32

将C/S架构的导出改成B/S架构的导出的相关文章

PS把照片白底改成蓝底,蓝底换成白底,蓝底改红底教程

  通常我们需要将照片的背景色进行适当的改变以满足特定的需要.实现这一目地的重要方法是利用PS来实现的,因为其强大的图像处理能力,使之可以满足我们多样化的需求.下面小编就为大家分享一篇PS把照片白底改成蓝底,蓝底换成白底,蓝底改红底教程,一起来看看吧! 在我们的学习和生活中,证件照是必须的,例如考试.申请书.档案.简历等,都需要证件照.然而,证件照的标准并没有统一,有时需要白底,有时需要蓝底,有时需要红底--有时我们手里只有一张白底的照片,而规定有必须交蓝底的,这会让我们和苦恼--重新照吗?尽管

session-aspx单点登录 怎么判断不正常退出,将SQL数据库一字段改成true

问题描述 aspx单点登录 怎么判断不正常退出,将SQL数据库一字段改成true 我做了一个系统,在同一时间,一个帐号只能一个登录,我把数据库帐号表加了一个列,用来判断是否登录,如果没登录,为true,如果登录后,就改为false,然后在登陆界面判断这个列是true还是false,如果是false就弹框,不能进去. 只有用户自己安全退出,才把false改成true 我的帐号使用session传值的. 现在有个麻烦,就是如果直接关掉游览器,那这个列的字段不会自己变成true,怎么办?还有直接断电和

android seekbar-android关于自定义seekbar控件的问题(将横向seekbar改成竖向seekbar)

问题描述 android关于自定义seekbar控件的问题(将横向seekbar改成竖向seekbar) 自定义了个seekbar,将横向的seekbar改为了竖向的seekbar,目前只支持触摸,但是用遥控器控制时候按上下按钮没响应,按下左右按钮seekbar才会被拖动 追了下代码seekbar继承自AbsSeekbar,AbsSeekBar继承自progressBar,ProgressBar继承自View,我该如何实现将按下左右键seekbar的progress值发生改变改为按下上下键see

ofbiz+oracle-刚学习ofbiz,将ofbiz的数据库改成oracle时,出现如下错误,求帮忙

问题描述 刚学习ofbiz,将ofbiz的数据库改成oracle时,出现如下错误,求帮忙 刚学习ofbiz ,想将ofbiz数据库改成oracle,我改了配置文件之后,ant load-demo ,没有报错,然后ant start后抱如下错,改怎么解决啊.谢谢 2013-12-11 13:41:21,694 (catalina-startup-0) [ UtilXml.java:1060:ERROR] XmlFileLoader: File file:/E:/Project 10/ofbiz/s

qt-vs2012平台下将工具集改成VS2010 V100之后生成出错

问题描述 vs2012平台下将工具集改成VS2010 V100之后生成出错 vs2012平台下新建QT application工程,将工具集改成VS2010 V100之后生成出错,情况如下:1>qtmaind.lib(qtmain_win.obj) : error LNK2038: 检测到"_MSC_VER"的不匹配项: 值"1700"不匹配值"1600"(moc_rr.obj 中) 解决方案 工程属性->配置属性-> 清单工具

mysql的默认码子怎样改成UTF-8的码子?

问题描述 mysql的默认码子怎样改成UTF-8的码子? 我的mysql数据库中的默认码子是英文的怎样改成utf-8的码子? 解决方案 Windows系统 1.中止MySQL服务 2.在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可 3.打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭 4.启动MySQL服务 运行下面两条命令查看修改的结果: 1.运行命令

主键值数据类型-informix数据库,不小心把主键值从int8改成float类型了

问题描述 informix数据库,不小心把主键值从int8改成float类型了 informix数据库,不小心把主键值从int8改成float类型了,然后值就变了.有人能帮忙看一下可能原因是什么吗? 解决方案 补充一下,数值由824变成800,转换的是informix数据库的主键值,由int8转为float

ie6下点a标签不会submit把javascript:void(0)改成###

文章简介:IE6下javascript:void(0)不submit的另类方法. 今天解决一BUG,在ie6下点a标签不会submit,原来在a的href上写的是javascript:void(0);把javascript:void(0)改成###,问题解决.但是如果这个html是程序员喷的,那可就要走大流程了.咨询大师,于是留下了这千古绝唱. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

photoshop教程:把金黄色的枫叶改成绿色

本教程主要讲解我们怎么在Photoshop里可以使用颜色替换工具来修饰更完美的图象,主要是把一张金黄色的枫叶改成绿色. 本教程主要讲解我们怎么在Photoshop里可以使用颜色替换工具来修饰更完美的图象,主要是把一张金黄色的枫叶改成绿色. 原图 效果图 第1步:打开图象.图象菜单在调整之下,精选替换颜色 在哪里将是正确地显示您点击,因此同一个作用,点击区域显示与一个红色小点在下面图象,颜色替换 选择了那个区域,看见与同一种颜色的区域发亮在颜色替换工具,这个区域代表在您选择了的图象的颜色,无论哪里