摘要: 前言:编写一个Windows服务程序,定时从数据库中拿出记录发送邮件。测试环境:Visual Studio 2005 SP1、Windows Server 2003 SP2一、新建项目打开VS2005,新建一个“Windows 服务”项目。二、添加Timer展开“工具箱”,在“组件”标签下找到“Timer”双击,这时就添加了一个Timer组件,修改“Name”属性为“timEmail”、“Enabled”为“false”、“Interval”为“60000”。接下来要做一些修补工作,不知是VS2005的BUG还是我没找着地方,在VS2003下是不存在该问题的:刚从“组件”下添加的“Timer” 阅读全文
posted @ 2012-08-24 16:25 Star★ 阅读(1181) 评论(0) 推荐(0) 编辑
摘要: (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2) WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须 阅读全文
posted @ 2012-08-24 11:23 Star★ 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 在msdn类库里的 System.Net.HttpWebRequest 和System.Web.HttpRequest 两个类有什么区别System.Web.HttpRequest是封装浏览器对服务器的请求的,主要用在ASP.NET中,其中包括浏览器请求的网址,查询字符串数据或表单数据等等而System.Net.HttpWebRequest则是用来简化网络请求的过程,从服务器上获取文件/结果的,譬如你可以在代码中用这个类冒充浏览器(设置一个UserAgent)来发请求,处理回应第一:他们不是父子关系。第二:Syste.Net.HttpWebRequest 类是System.Net.WebReq 阅读全文
posted @ 2012-08-24 11:19 Star★ 阅读(411) 评论(0) 推荐(0) 编辑
摘要: View Code ------------------------------------ --用途:支持任意排序的分页存储过程 --说明: ------------------------------------ CREATE PROCEDURE [dbo].[UP_GetRecordByPageOrder] @tblName varchar(255), -- 表名 @fldName varchar(255), -- 显示字段名 @OrderfldName varchar(255), -- 排序字段名 @StatfldName varchar(255), -- 统计字段... 阅读全文
posted @ 2012-08-24 11:10 Star★ 阅读(134) 评论(0) 推荐(0) 编辑
摘要: .NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。.NET框架的目的是便于开发人员更容易地建立Web应用程序和Web服务,使得Internet上的各应用程序之间,可以使用Web服务进行沟通。从层次结构来看,.NET框架又包括三个主要组成部分:公共语言运行时(CLR:Common Language Runtime)、服务框架(Services Framework)和上层的两类应用模板——传统的Windows应用程序模板(Win Forms)和基于ASP NET的面向Web的网络应用程序模板(Web Forms和Web Services)。公共语言运行时(CLR),是一 阅读全文
posted @ 2012-08-24 11:00 Star★ 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 一般来说,在C#对数据库程序设计时变量的类型要和数据库中的字段类型相对应,即需要做变量的数据类型与字段的数据类型映射(数据库中的数据类型和c#的数据类型的映射表),例如string类型对应与Varchar(char)类型。 但是对于数据库中的Bit类型,就无法使用C#中的Boolean值进行对应,原因是Bit型会有三种状态(0,1,null)而Boolean型只能是(True,False),非真即假的状态让Boolean类型无法与数据库中的null对应起来,所以在使用Bit类型转换成C#类型是就需要使用自定义的“三值逻辑”,也就是自己设定一个struct类型。 所以,以下是... 阅读全文
posted @ 2012-08-24 10:49 Star★ 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 如果在为方法声明参数时未使用 ref 或 out,则该参数可以具有关联的值。可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值。通过使用方法参数关键字,可以更改这种行为。paramsparams 关键字可以指定在参数数目可变处采用参数的方法参数。1.在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。 示例:字面意思比较难懂,所以看示例很有用。// keywords_params.csusing System;class App{ public static void UseParams(params object[... 阅读全文
posted @ 2012-08-24 10:34 Star★ 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 直接上代码,做个记号 //泛型的键值集合/有序/Hash算法/占内存较大/不排序,不受装填因子的限制,对读写操作效率较高 Dictionary<int, string> dc = new Dictionary<int, string>(); dc.Add(1, "111111"); dc.Add(2, "222222"); dc.Add(3, "333333"); dc.Add(5, "5555555"); dc.Add(4, "444444... 阅读全文
posted @ 2012-08-24 09:40 Star★ 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 我们首先来看一段代码: 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Father father=new Son(); 6 father.SayHi(); 7 Console.ReadKey(); 8 } 9 }10 class Father11 {12 public void SayHi()13 {14 ... 阅读全文
posted @ 2012-08-24 09:37 Star★ 阅读(248) 评论(0) 推荐(0) 编辑