摘要:
下面有这么一个程序,代码如下:publicclassExceptionDemo...{publicstaticvoidcreateException()throwsException...{thrownewException("AnExceptioniscreate");}publicstaticlongget()...{try...{createException();returnSystem.currentTimeMillis();//(1)}catch(Exceptionex)...{System.out.println("C-time1="+Sy 阅读全文
摘要:
我们在数据库存放的表结构中字段名一般都不是中文,但是我们经常要在表头中显示中文,一般显示中文有以下三种方法:第一种:通过SQL查询语句的AS来改名,例如Pubs库的Jobs表我们可以写如下SQL:select job_id as 编号,job_desc as 说明,min_lvl as 最小级,max_lvl as 最高级 from jobs;这种方法还有简单的做法就是在数据库中建立视图,然后从视图来查询第二种:我们可以通过DataTable的Columns集合中DataColumn对象的ColumnName属性来改变显示标题,例如:dtJobs.Columns[0].ColumnName=& 阅读全文
摘要:
谁都会写代码!几个月的编程经验可以让你写出“可运行应用程序”。让它可运行容易,但是以最有效率的方式编码就需要下更多的功夫!要知道,大多数程序员在写“可运行代码”,而不是“高效代码”。你想成为你们公司”最尊贵的专业人员“吗?写”高效代码“是一项艺术,你必须学习和实践它。命名惯例和规范注记 : Pascal 大小写形式-所有单词第一个字母大写,其他字母小写。Camel 大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。类名使用Pascal 大小写形式 public class HelloWorld{ ...}方法使用Pascal 大小写形式 public class HelloWo 阅读全文
摘要:
闲话少说,先看代码:classclsArray2D...{privatevoidPrint(objectobj)...{Console.WriteLine("object");}privatevoidPrint(stringstr)...{Console.WriteLine("string");}/**////<summary>///应用程序的主入口点。///</summary>[STAThread]staticvoidMain(string[]args)...{clsArray2Darray=newclsArray2D();ar 阅读全文
摘要:
本人是从Java转向C#的,由于工作需要,感觉C#和Java的很多类似性,所以在使用C#的时候总喜欢套用Java的,因为他们太像了,然而今天却碰了一鼻子灰,原因就在使用二维数组上。在Java中使用二维数组可以如下代码:publicclassArray2D...{publicstaticvoidmain(String[]args)...{intmyInt[][]=newint[5][10];//遍历,给数组中的每一个数组赋值for(inti=0;i<myInt.length;i++)...{for(intj=0;j<myInt[0].length;j++)...{myInt[i][j 阅读全文
摘要:
这个世界上还有一个故事,叫做《大话西游》。 世界是巨大的枷锁,你不得不重复自己或是别人的生活。 记得长辈说过:年轻是一种罪过。他们说我们不成熟。 真切地为自己的不俗喝彩,在深切的郁闷中,突然就看懂了《大话西游》的开头: 一位才华横溢又无法无天的青年(孙悟空),根本不喜欢世人摊派给他的大事业(西天取经)。他尤其受不了师父(唐僧)的唠唠叨叨,可世俗条规(观音)又不放过他。为让他悔悟,心甘情愿地去取经,唐僧和观音达成妥协:让他五百年后重新做人。 这真是一个宿命的开始。 九七一师兄曰:“大学的孩子都是玻璃罐里养蛤蟆,前途光明出路不大。”再贴切不过。大闹天宫无非是大学四... 阅读全文
摘要:
((I)).集合类型 1.一般集合 I.Array a.Array中的秩是Array中的维数.一个Array可以有一个或多个秩. Array具有固定的容量.如果有可变容量,则用Array.CreateInstance,其可以不从零开始存储. II.ArrayList集合类型 a.是数组的复杂版本.Array是数组是固定的,而ArrayList类是根据需要自动扩展的.如果更改了Array.Capacity属性的值,则自动进行内存重新分配和元素复制. b.ArrayList提供添加/或移除某一范围元素的方法.在Array中,只能一次获取或设置一个元素的值. c.使用 Synchronized方.. 阅读全文
摘要:
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。 这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向"Hello world!&qu 阅读全文
摘要:
C#支持单继承,说到继承就不得不说new,virtual和override这三个关键词,灵活正确的使用这三个关键词,可以使程序结构更加清晰,代码重用性更高。以下是msdn中对new,virtual和override的定义: 使用 new 修饰符显式隐藏从基类继承的成员。若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并用 new 修饰符修饰它。 virtual 关键字用于修改方法或属性的声明,在这种情况下,方法或属性被称作虚拟成员。虚拟成员的实现可由派生类中的重写成员更改。调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派生类中的该重写成员,如果没有派生类重写该成员,则. 阅读全文
摘要:
C#和Java都是很不错的语言。他们通过类似的方式达到了类似的目的,尽管C#比Java多出来一些和句法相关的东西,例如foreach关键字和一些更加让人高兴的扩展/实现架构。不幸的是,这些改进的光芒被削弱的东西掩盖掉了。在本文里,我将比较两种语言,并尽量避免深入到JVM和CLR层。Java:无可争辩地具有C++所有的精华在比较Java和C#的时候,你不可能不注意到它们诸多的相似之处,这在某种程度上要归结于它们共同的来源:C和C++。但是,当Gosling和他的同事们坐下来创造Java的时候,他们不仅吸取了C++的能力,而且更重要的是,他们减掉了一些无用特性,后者让C++更容易出错误而且更难学习 阅读全文
摘要:
代码如下:using System;using System.Text;using System.Security.Cryptography;namespace Common{ /// <summary> /// 一个实现MD5散列字符串的类 /// 作者:周公 /// 日期:2007 /// </summary> public sealed class MD5Hashing { private static MD5 md5 = MD5.Create(); //私有化构造函数 private MD5Hashin... 阅读全文
摘要:
usingSystem;usingSystem.Security.Cryptography;usingSystem.Text;usingSystem.IO;namespaceCommon...{/**////<summary>///DESEncrypt加密解密算法。///</summary>publicsealedclassDESEncrypt...{privateDESEncrypt()...{////TODO:在此处添加构造函数逻辑//}privatestaticstringkey="zhoufoxcn";/**////<summary&g 阅读全文
摘要:
usingSystem;usingSystem.Text;namespaceCommon{///<summary>///实现Base64加密解密///作者:周公///时间:2007///</summary>publicsealedclassBase64{///<summary>///Base64加密///</summary>///<paramname="codeName">加密采用的编码方式</param>///<paramname="source">待加密的明文< 阅读全文
摘要:
Session 会话l 区分客户端,不区分页面l 数据量会随着客户端(并发)数量的增多,而增多l 服务器端存储什么:数据存储在服务器端(InProc,StateServer,SqlServer)l 客户端存储什么:客户端存储的是SessionIDl 有过期策略l 适用场合:与用户相关的数据,购物车,用户帐号, Application状态l 全局数据,所有客户端共享:不区分客户端,不区分页面l 服务器端存储什么:数据存储在服务器端(服务器进程内)l 客户端存储什么:客户端不存储任何与Application状态数据l 可能有多线程并发访问的问题,需要同步(Lock/Unlock)l 适用场合:全局 阅读全文
摘要:
在企业进销存管理的过程中,有些任务需每一个月做一次,或都每天做一次,比如月底备份库存档,做为下一个月的库存期初值。SQL AGENT就提供这样功能,实现了WINDOWS中的任务计划功能。 应用该技术的前提是,SQL AGENT代理服务需打开。 首先,在数据转换服务(DTS)中新建本次需执行的任务包。 在任务包右键选取调度包,对该任务需运行的时时进行定义。确定后,该任务会在 管理/代理调度/作业 下生成一条记录。记录上有上可以看出下次运行的时间,上次运行的时间及状态。 注意,管理/代理调度/作业的内容,如果刚才执行了任务,需刷新才能看到。如下步骤:(1)找到SQL Server代理节点(2)新建 阅读全文
摘要:
今天下午做了一个小WebForm,删除了两个RadioButton服务器控件,改为RadioButtonList控件,习惯性地给RadioButtonList控件更改ID,试了N次都不能解决问题,每次都是提示“目录名无效”,后来重启VS2005之后问题解决。出现这种问题的可能原因如下:由于出现设计失误要重读以前的版本代码,覆盖后代码中的控件ID不一致时,在缓存中的DLL文件找不到相应的控件就会出错,有时复制过来大量的含有服务端控件的HTML代码时也会出现这个情况。可以通过以下几种办法解决:(1)在HTML模式下改动;(2)重启VS2005。 阅读全文
摘要:
“得其精而忘其粗,在其内而忘其外;见其所见,不见其所不见,视其所视,而遗其所不视”——《列子 说符》 1. 语言只是工具 我曾经是非常执着的开发人员。我有连续几天几夜做Coding的经历,也曾经为了一个技术问题耗上三、四个星期而导致项目一再延迟,还曾经为了一个实现细... 阅读全文
摘要:
Nslookup 是一个监测网络中DNS服务器是否能正确实现域名解析的命令行工具。它在 Windows NT/2000/XP 中均可使用,但在Windows 98中却没有集成这一个工具。 Nslookup 必须要安装了TCP/IP 协议的网络环境之后才能使用。下面笔者就举一个实例来介绍Nslookup的具体操作过程。 现在网络中已经架设好了一台 DNS 服务器,主机名称为 linlin ,它可以把域名 www.netskycn.com 解析为 192.168.0.1 的IP地址,这是我们平时用得比较多的正向解析功能。 检测步骤如下: 在 Windows 2000 中单击“开始”->“程. 阅读全文
摘要:
开发背景:为了熟悉一下在vs.net2005下进行WinForm开发,同时也是由于整理电脑时发现一些数码相机拍摄的照片尺寸过大,查看不方便,占用空间大,尽管已经有相关的图片调整软件,都有些不太尽我意的地方,于是想到了自己动手开发一个。选择调整文件界面设置调整尺寸界面设置保存路径界面调整状态界面关于我们说明特点:1、可以批量调整图片大小。2、可以设定过滤条件,只调整符合尺寸的图片。3、可以以以下三种方式之一进行调整:(1)设定图片的宽度或高度,另一维(对应的高度或宽度)的大小可以按照远图的宽高比计算得出。(2)直接指定调整后的图片的高度和宽度。(3)指定调整后的图片尺寸大小与原图片的比率。4、可 阅读全文
摘要:
最近正在考虑写个小游戏,来学习GDI+。其中要用到的一个技术就是双缓存技术,双缓冲技术是为了解决界面闪烁而采用的一项技术,就是将要绘制的界面先绘制在内存中一个虚拟的、和正在显示的界面同样大小的一个区域上,界面变化时将这个内存中的图象一次性绘制到屏幕上。通常,双缓存逻辑如下所示:1. protected override void OnPaint(PaintEventArgs e )2. {3. Graphics gxOff; //屏幕外的图像4. 5. if (m_bmpOffscreen == null) //要双缓冲的位图6. {7. m_bmpOffscreen = new Bitmap 阅读全文
摘要:
1.DuplicatedCode(代码重复) 代码重复几乎是最常见的异味了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste的编程风格。与他相对应OAOO是一个好系统的重要标志(请参见我的duplicatedcode一文:http://www.erptao.org/download.php?op=viewsdownload&sid=6)。 2.Longmethod(方法过长) 它是传统结构化的“遗毒“。一个方法应当具有自我独立的意图,不要把几个意图放在一起,我的《大类和长方法》一文中有详细描述。 3.LargeClass(类提供的功能太多) 大 阅读全文
摘要:
这次活动主要为了吸引广大学生或者.net爱好者的兴趣而编写的一个图片浏览器,实现了“上一张”、“下一张”、“最后一张”、“第一张”的定位功能,并且使用了两种方式(利用PictureBox控件和绘制)来显示图片,还演示了如何将编译后的程序制作成安装包。部分关键代码://初始化图片装载路径privatevoidInitPath()...{path=System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyPictures);}/**////<summary>///根据指定好的路径装载图片///</sum 阅读全文
摘要:
在互联网的社区中,关于程序员浮躁的讨论帖子很多。那么程序员真的浮躁吗?他们为什么会浮躁呢?其根源是什么呢? 程序员已经是一个没有门槛的职业 随着开发工具的可视性、易用性的增强,程序开发变得越来越简单。特别是随着软件工程方法的深入人心,开发过程管理变得愈加规范,使代码编写变得类似于机械性的动作。这样,程序员已经是一个没有门槛的职业,各培训机构都可以号称2-3个月内打造一个软件蓝领。加之各种渠道的宣传和炒作,让公众误以为只要攀上IT,一定前途无量。我们到处都可以看到这样的言论和宣传,“中国每年缺程序员XX万”,这是谁统计的数字?什么时候的数字?却无处可查。我个人认为这些数字是有问题的,是有很大.. 阅读全文
摘要:
本文根据Denis Piliptchouk的文章翻译、摘录而来,有些术语翻译不太好理解,还请参考原文。第一部分 安全配置和代码封装安全配置两个平台的配置都是通过XML或纯文本文件,两个平台最大的区别在于处理安全配置体系的方式不同。在.NET平台,有图形接口和命令行二种方式来修改安全配置参数。Mscorcfg.msc是图形接口方式,Caspol.exe提供了命令行方式,适用于批处理或配置文本。JAVA平台只提供了图形接口的工具policytool.exe。和.NET不同的是,它的目标对象(配置文件)的名字和位置不是固定的。.NET定义了不同范围的安全配置文件:系统范围,本机范围,本用户范围。在配 阅读全文
摘要:
JAVA 与.NET JAVA语言发明已有10年历史,在IBM、SUN等公司的推动下已经比较稳定与成熟,获得了大规模企业的普遍应用。时至今日,J2EE已经发展成为一个覆盖面广,效率高,易用性强的技术平台,吸引了400万开发者,在网络技术遍及全球的的今天,更有17.5亿台设备使用JAVA技术.同时, Mustang版本的J2EE正在紧锣密鼓的开发当中,按照惯例,每2年将发布一个全新的J2SE版本,所以Mustang开发版对应的J2SE6.0版本将在2006年底完成.对于开发人员来说.从技术难度角度, 由JAVA开发转.NET或其它软件的开发较为容易..NET则是微软公司目前主推的开发平台,是微软 阅读全文
摘要:
在软件世界里,Java与.NET无疑是两个旗鼓相当的对手,一再上演着一出又一出你来我往、拼力争夺的好戏。在这种争夺的过程中,有受益者,也有牺牲者。平心静气地想一想,微软和Sun公司都是兵器的制造者,软件人员才是斗士,用户们只好去做受益者或是牺牲品。 真的有那么凄惨吗?事实上,和平的曙光已经出现了。 战争与和平 很多人认为,Java和.NET不是殊途同归吗!为什么又会烽烟缭绕呢?当然是世界级企业之间的商业竞争使然。这场战争常使软件开发人员陷于进退维谷的境地—Java还是.NET,应该选择哪一种开发平台? 事实上,不管选择哪一种平台作为基础,今后都必须面对Java和.NET共存和互操作的环境。这显 阅读全文
摘要:
在.NET平台下,部署 Web 解决方案是比较方便的。我们可以利用Visual Studio.NET 2003添加一个WEB安装项目,在部署的“文件系统编辑器”中添加项目的主输出和内容文件,非常简易地完成安装程序的制作。但是,这样制作的安装程序,只是将Web页和ASP.NET程序编译的DLL文件安装到目标机器的IIS目录,对于一般的应用程序是可以的(比如用Access数据库,可以一起打包到安装程序中);如果数据库是SQL SERVER,需要在部署的时候一并安装数据库,安装程序的制作就会复杂一些,需要我们自定义安装程序类。在安装程序类中执行SQL脚本并将连接字符串写入Web.config。l 安 阅读全文
摘要:
概要当用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字代码。该状态代码记录在 IIS 日志中,同时也可能在 Web 浏览器或 FTP 客户端显示。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。回到顶端 更多信息日志文件的位置在默认状态下,IIS 把它的日志文件放在 %WINDIR/System32/Logfiles 文件夹中。每个万维网 (WWW) 站点和 FTP 站点在该目录下都有一个单独的目录。在默认状态下,每天都会在这些目录下创建日志文件,并用日期给 阅读全文
摘要:
名称:快速入门地址:http://chs.gotdotnet.com/quickstart/描述:本站点是微软.NET技术的快速入门网站,我们不必再安装.NET Framework中的快速入门示例程序,直接在网上查看此示例即看。名称:微软官方.NET指导站点地址:http://www.gotdotnet.com/描述:上面的站点是本站的一个子站点,本站点提供微软.NET官方信息,并且有大量的用户源代码、控件下载,微软.NET开发组的人员也经常在此站点发表一些指导性文章。名称:SourceForge地址:http://www.sourceforge.net描述:世界上最大的Open Source 阅读全文
摘要:
usingSystem;namespaceDeleAndEvent...{/**////<summary>///一个产生自定义事件并自行处理的程序///</summary>classDemo...{/**////<summary>///应用程序的主入口点。///</summary>[STAThread]staticvoidMain(string[]args)...{Deledele=newDele();dele.MyEvent+=newDeleAndEvent.Dele.MyEventHandler(dele.ProccessMyEvent);d 阅读全文
摘要:
2.1下载2.1.1下载数据库软件数据库软件下载地址:http://download.mysql.cn/src/2006/0218/199.html2.1.2下载数据库驱动程序MySQL JDBC Driver数据库驱动程序下载地址:http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.1.13.zip/from/pick也可以到http://dev.mysql.com/downloads/connector/j/5.0.html下载最新的JDBC驱动程序。注意:不光要安装数据库软件,还要有数据库驱动程序,这 阅读全文
摘要:
“三层结构”是什么? “三层结构”一词中的“三层”是指:“表现层”、“中间业务层”、“数据访问层”。其中:n 表 现 层:位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。n 中间业务层:负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。中间业务层也可以包括一些对“商业逻辑”描述代码在里面。n 数据访问层:仅实现对数据的保存和读取操作。数据访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。 对依赖方向的研究将是本文的重点,数值返回方向基本上是没有变化的。在一个 如... 阅读全文
摘要:
前面从架构方面介绍了petshop怎样通过工厂模式可以轻松替换持久层实现。这次简单说一说petshop的表现层实现。 petshop的表现层使用了Web 页面(aspx)和用户控件(ascx)控件及自定义服务器控件等ASP.NET技术。 web页面(aspx)是用户和服务器交互的接口,也是用户除静态页面外唯一能够访问到的asp.net组件,其他像用户控件(ascx)和服务器控件只能在web页面(aspx)中使用,用户不能直接访问。用户控件类似于web页面,服务器控件与jsp的标签相似,可以在比较中进行学习。一.用户控件和服务器控件。1.用户控件。 用户控件与web页面极为相似,只不过是以asc 阅读全文
摘要:
关于一些Microsoft PetShop的来由、如何安装,所表现业务流程,数据库表结构等基本的信息的资料请大家参考下面文章http://msdn.microsoft.com/library/en-us/dnbda/html/bdasamppet.asp 另外建议先看一下这篇文章:http://msdn.microsoft.com/library/en-us/dnbda/html/petshop3x.asp本文将以设计和实现紧密结合的方式来分析,这也是我们广大实践型的软件开发人员的风格。先看一下设计图和具体实现VS.NET工程的表格。MSPetShop 3.0 系统结构图:从图中可以看到系统大 阅读全文
摘要:
petshop是C#实现的petstore,具体和技术无关的情况就不多介绍了。petshop3.0比petshop1和2都有了较大的改变,主要是设计方面的。看一下里面的8个工程和1个站点就知道它肯定分了不少层。一.概况介绍。Model:模型层,封装业务实体,一般和数据库模式对应。例如: public class AccountInfo { // Internal member variables private string _userId; private string _password; private string _email; private AddressInfo _addres 阅读全文
摘要:
数据库的移植通常会带来高额的代价。这一点我深有体会。代价的大小就要看程序的架构写的怎么样了. 去年把一个项目从MySQL移至到Oracle, 整个程序里里外外都做了修修补补,大概花了两个月。如果做到少修改,甚至不修改代码的前提下,对数据库的兼容无疑是一件非常好的事情,PetShop很好的做到了这一点要兼容多种数据库,首先要实现多态。SQLServerDAL和OracleDAL都实现了IDAL里所有接口的方法,实现了多态性。FactoryDAL用来创建DAL对象,public static PetShop.IDAL.IAccount Create(){ /// Look up the DAL . 阅读全文
摘要:
DataGrid的正反双向排序http://dev.csdn.net/develop/article/26/26817.shtm删除确认及Item颜色交替 http://dev.csdn.net/develop/article/26/26768.shtm DataGridDataGrid常见解决方案(三)--在DataGrid中选择确认删除多行复选框列表 http://dev.csdn.net/develop/article/26/26613.shtm 使用DataGrid动态绑定DropDownList http://dev.csdn.net/develop/article/26/26590 阅读全文
摘要:
ASP.Net中的DataGrid有内置分页功能, 但是它的默认的分页方式效率是很低的,特别是在数据量很大的时候,用它内置的分页功能几乎是不可能的事,因为它会把所有的数据从数据库读出来再进行分页, 这种只选取了一小部分而丢掉大部分的方法是不可去取的. 在最进的一个项目中因为一个管理页面要管理的数据量非常大,所以必须分页显示,并且不能用DataGrid的内置分页功能,于是自己实现分页. 下面介绍一下我在项目中用到的分页方法. 当然显示控件还是用DataGrid的, 因为数据绑定很方便^_^. 要保证不传输冗余的数据,那么必须在数据库中数据读取时实现分页, 数据... 阅读全文
摘要:
阅读本文章之前的准备 阅读本文章前,需要读者对以下知识有所了解。否则,阅读过程中会在相应的内容上遇到不同程度的问题。 懂得ASP/ASP.NET编程 了解ASP/ASP.NET的Session模型 了解ASP.NET Web应用程序模型 了解ASP.NET Web应用程序配置文件Web.config的作用、意义及使用方法 了解Internet Information Services(以下简称IIS)的基本使用方法 了解如何在Microsoft SQL Server中创建一个数据库。Session模型简介 Session是什么呢?简单来说就是服务器给客户端的一个编号。... 阅读全文
摘要:
1.1下载下载地址:可以到Sun公司网站去下载,网址是:http://java.sun.com。注意:下载的是Windows版本的。也可以到http://www4.skycn.com/soft/3116.html下载“Java 2 Standard Edition SDK 6.0 Build 66 RC Alpha”。只要是J2SDK1.5或者以上版本就可以。当然不一定非要到上述站点下载,也可以在百度上搜索下载,这个在网上有很多下载地址。1.2安装1.2.1以下是安装过程截图:图1,安装协议,只有选择接收才能继续下一步。如上图。图2,选择安装组件和安装路径。图3,安装过程截图。图4,安装完JD 阅读全文