[转载]在WinForm中使用Web Services 来实现 软件 自动升级( Auto Update ) (C#)
winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术方案,弥补了这一缺陷,有较好的参考价值。 一、升级的好处。 长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序的可维护性差,布置困难,升级不方便,维护成本高就是一个相当重要的因素,也是那些B/S的支持者们将Client/Server结构打入地狱的一个重要原因。 现在好了,我们就在
HTML中重定向的写法
<META http-equiv="refresh" content="1; url=http://www.sina.com">[@more@]
ISOWEEK的算法
算ISOWEEK的时候,通常是以(该日的所属周数+1 )- (该年的1-4所属周数),但也有特殊的情况,case1 :可能当年的一月1号到3号是属于前年的,case2 : 可能前年12月29到31号是属于下一年的.SQL的算法CREATE FUNCTION ISOweek (@DATE datetime)RETURNS intASBEGINDECLARE @ISOweek intSET @ISOweek= DATEPART(wk,@DATE)+1-DATEPART(wk,CAST(DATEPART(yy,@DATE) as CHAR(4))+'0104')--Special cases: Jan 1-3 may belong to the previous yearIF (@ISOweek=0) SET @ISOweek=dbo.ISOweek(CAST(DATEPART(yy,@DATE)-1 AS CHAR(4))+'12'+ CAST(24+DATEPAR
[原创]BI中要注意的地方
1.假如你想使用BI中让他先产生PROGRESS的代码再执行,而不直接用PROGRESS驱动结合SQL执行的话,那你要先在数据源中必须先配好由PROGRESS CLIENT执行,这样每次执行刷新数据,他都会先产生一个PROGRESS的代码,再交由PROGRESS CLIENT编译好再执行返回数据.2.数据库驱动程序要注意假如使用PROGRESS DB SQL92版本前的驱动 PROGRESS中数组型的字段在BI中是以单独每个字段分开的形式表现;而以SQL92为驱动时,数组字段会表现成单个字段,但数组间的数据会以";"隔开.3.使用PROGRESS DB 91D驱动并且由PROGRESS CLIENT执行时,对于一些BOOLEAN的字
SQL语句优化技术分析
操作符优化IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。推荐方案:在业务密集的SQL当中尽量不采用IN操作符。/*********************
解决LINUX ES3.0下想指定打印机和用户的删除打印作业的问题
################################################################################ xlprm use for LINUX ES3.0 # 可删除指定打印机和指定用户的打印作业# 用法 1)xlprm $1 $2 可指定两个参数 参数一是打印机名 参数2是用户名# 2)xlprm $1 可指定一个参数 参数一是打印记名 然后用户名默认是当前用户# 注意 1) 用法一 用户root使用才可删除对应用户作业# # softspeed ivan 2007/04/13# 版本B1################################################################################FILENAME=`whoami``echo $$`;export FIL
SHELL的系统变量
1 系统变量 Shell常用的系统变量并不多,但却十分有用,特别是在做一些参数检测的时候。下面是Shell常用的系统变量 表示方法 描述 $n $1 表示第一个参数,$2 表示第二个参数 ... $# 命令行参数的个数 $0 当前程序的名称 $? 前一个命令或函数的返回码 $* 以"参数1 参数2 ... " 形式保存所有参数 $@ 以"参数1" "参数2" ... 形式保存所有参数 $$ 本程序的(进程ID号)PID $! 上一个命令的PID [@more@]
LINUX 中命令提示符
刚登陆LINUX后看见一个[root@hostname /]这个叫当前SHELL的命令提示符.每个SHELL都有他自己的命令提示符 ksh为# , csh为[root@hostname /] ,sh 为当前PID.假如想修改当前的SHELL的命令提示符, 只需要export PS1="<",那当前的命令提示符就变成"<".[@more@]
J2EE面试题集锦(附答案)
/*** 题目答案来源于网络,不能保证其正确或完整性,仅供参考**/ 一、基础问答 1.下面哪些类可以被继承? java.lang.Thread (T) java.lang.Number (T) java.lang.Double (F) java.lang.Math (F) java.lang.Void (F) java.lang.Class (F) java.lang.ClassLoader (T) 2.抽象类和接口的区别 (1)接口可以被多重implements,抽象类只能被单一extends (2)接口只有定义,抽象类可以有定义和实现 (3)接口的字段定义默认为:public static final, 抽象类字段默认是"friendly"(本包可见)
解析Class文件魔数和版本号[转]
众所周知,Java语言的可执行文件是class文件,俗称类文件。这个文件为了让不同平台的虚拟机都能够正确的解释,详细规定了其文件格式。下面就按照顺序进行介绍:1、 魔数(magic)为了方便虚拟机识别文件是否是class格式的文件,SUN公司规定每个class文件都必须以一个word(4个字节)来开始,这个数字就称为魔数。魔数是有4个字节的无符号数字构成的,而且规定魔数必须是0xCAFEBABE。2、 版本号(version)魔数后续的内容就是一个word的长度来表示生成的class文件的版本号,版本号分为主版本号和次版本号,其中前两个字节表示次版本号,后两个字节
How to move progress database to different OS
Migrating databases between server platforms is sometimes possible using a Progress database copy utility. However, changing database servers often requires a data dump & load from the original server to the new server. The following Progress Knowledgebase entry describes how to determine if the server types are compatible for a database copy process or if a data dump and load is required.INTRODUCTION:=============Customers often ask about PROGRESS database portability: under whatcircumstanc
[原创]PROGRESS .I 文件中定义变量要小心
PROGRESS程序中的.I 写程序时要注意 定义一个变量时最好用以下语句&if defined(shipnbr) = 0 &then&scoped-define shipnbr ""&endif因为假如你用 define var a as 很可能调用的.P 调用两次该.I时 ,由于PROGRESS的编译原理是把.I的内容直接放到.P后再编译,这时很明显编译前的.P的内容就是有两行define var a as ,编译就会出错提示重复定义了VAR A[@more@]
XML的简单读取与写入
已知有一个XML文件(bookstore.xml)如下:<?xml version="1.0" encoding="gb2312"?><bookstore><book genre="fantasy" ISBN="2-3631-4"><title>Oberon's Legacy</title><author>Corets, Eva</author><price>5.95</price></book></bookstore>1、往< bookstore >节点中插入一个< book >节点:XmlDocument xmlDoc=new XmlDocument();xmlDoc.Load("bookstore.xml");XmlNode root=xmlDoc.SelectSingleNode
SQL Server 字符串和时间相互转换
select convert(smalldatetime, convert(char(10),SSD_SellRecord.VoucherTime,120)) as VoucherTimefrom SSD_SellRecord group by convert(smalldatetime, convert(char(10),SSD_SellRecord.VoucherTime,120))因为要根据日期来group by,所以用convert(char(10),SSD_SellRecord.VoucherTime,120)截取日期部分。又因为我们希望的最终结果是时间类型,所以还得用convert(smalldatetime, convert(char(10),SSD_SellRecord.VoucherTime,120))进行转换。[@more@]
c#.net中参数修饰符ref,out ,params得区别
params 关键字可以指定在参数数目可变处采用参数的方法参数。 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。 示例 // cs_params.cs using System; public class MyClass { public static void UseParams(params int[] list) { for ( int i = 0 ; i < list.Length ; i++ ) Console.WriteLine(list[i]); Console.WriteLine(); } public static void UseParams2(params object[] list) { for ( int i = 0 ; i < list.Length ; i++ ) Console.WriteLine(list[i]); Console.WriteLin
当XMLHTTP返回的XML数据流中没有数据时怎么样进行异常处理?
这是我写的一个login.asp文件。调用一个XML数据接口获取XML数据流。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>Untitled Document</title> </head> helloworld<br> <% Set XMLHTTP=server.CreateObject("Microsoft.XMLHTTP") XMLHTTP.Open"Get", "ht
servlet接收xml数据流[java]
我是这么收的 BufferedReader reader1 = request.getReader(); InputSource is= new InputSource(reader1); if(is != null){ System.out.print(readXMLFile(is)); } else{ System.out.print("no data receive"); } private String readXMLFile(InputSource in) throws Exception { Vector student_Vector = new Vector(); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = null; try { db = dbf.newDocumentBuilder(); } catch (ParserConfigurationException pce) { System.err.prin
XmlHttp异步获取网站数据的例子
net_lover [原作] <script>var oDiv var xh function getXML(){oDiv = document.all.moDiv.innerHTML = "正在装载栏目数据,请稍侯......."oDiv.style.display= ""xh = new ActiveXObject("Microsoft.XMLHTTP")xh.onreadystatechange = getReadyxh.open("GET",a.value,true)xh.send()}function getReady(){if(xh.readyState==4){if(xh.status==200){oDiv.innerHTML = "完成"}else{oDiv.innerHTML = "抱歉,装载数据失败。原因:" + xh.statusText}}}</script>&l
用XMLHTTP实现无刷新的与server通信
XMLHTTP XMLHTTP的用处很多,这里只说我们需要的,就是无刷新的与server通信,看这段代码: 代码:<script language="javascript"> xml = new ActiveXObject("Microsoft.XMLHTTP"); var post=" ";//构造要携带的数据 xml.open("POST","http://localhost:7001/TestWL/index.jsp",false);//使用POST方法打开一个到服务器的连接,以异步方式通信 xml.setrequestheader("content-length",post.length); xml.setrequestheader("content-type","application/x
cups-1.1.17 中打印参数-n 在部分打印机中不起作用
lp -d bc -n 3 /aaa但发现这命令对于HP LJ1200没问题可以打出3张文件但发现在BARCODE打印机上就会-n 参数不起作用了 INTERMAC 3400E.目前还在测试中!!!!!!!![@more@]