摘要: 网络编程中socket的分量我想大家都很清楚了,socket也就是套接口,在套接口编程中,提到超时的概念,我们一下子就能想到3个:发送超时,接收超时,以及select超时(注:select函数并不是只用于套接口的,但是套接口编程中用的比较多),在connect到目标主机的时候,这个超时是不由我们来设置的。不过正常情况下这个超时都很长,并且connect又是一个阻塞方法,一个主机不能连接,等着co......
摘要:作者:robbin网址:http://www.fankai.com/java learning path (一)、工具篇一、 jdk (java development kit)jdk是整个java的核心,包括了java运行环境(java runtime envirnment),一堆java工具和java基础的类库(rt.jar)。不论什么java应用服务器实质都是内置了某个版本的jdk。因此掌握......
使用属性和反射过渡从数据存取层到业务物件1索引
当然,ado.net比起ado与oledb来说要简单多了.我所知道的是打开connection我可以通过dataset与datareader读取数据库.当然你也可以通过你的需要来恢复数据. 【程序编程相关:
在Hibernate中实现复杂的数据映射】
i
ii
iii
简介 【推荐阅读:
JMS概述】
但是这样以来我不得不写老多的代码,业务物件类,数据库更新代码与数据库读取代码.开始的时候,我没有使用存储过程更新数据库,因此我要对没一个业务物件来写sql语句.在我修改数据库或业务物件的时候,这样的工作就显得特别的乏味. 【扩展信息:
使用Hibernate来实现持久对象 】
我意识到dataset功能强大而且能节省我的时间,但是我还是愿意选择自己的方式了处理数据库程序.我喜欢用一个类来调用方法去更新数据. 因此当用数据库中的一条记录的时候我就会创建一个物件实例,设置它的属性与调用的的更新方法,就是这么简单.
我的方案
我的方案是以创建简单的类开始的,是我写较少的代码来更新物件. 所有我做得就是增加字段的名字,值与类,然后生成sql语句. 当我结束这一切的时候,我一周都沉醉在快乐之中…
可是当我开始使用sqlserver代替access的时候,我的情绪变化了.我不能使用单纯的sql语句来更新我的物件,我不得不用存储过程.不幸又开始了…我不得不创建成打的sql语句来更新物件.枯燥的工作又开始了…
我注意到我能写简单的类来生成参数,正如sql语句生成类一样.尽管这个方案能使我写少一点的代码,但是无论何时我的方案要是有所改动的话,我仍然要去检查我的更新代码.
接着我有了在数据库中如何创建持续化类的想法.使用属性来描述数据库的表,这样属性就可以被映射到表中的字段了.这样我就可以仅仅修改业务物件类了.
为了你更容易读懂,我把这篇文章分成了三部分.第一部分展示使用属性来描述一个业务类.第二部分展示我是如何采集信息,最后我将展示完整的方案.
i - attributes
attributes是用来描述装配件,类,属性,方法与字段的.在.net 架构里已经有些地方使用了.但是你可以创建自己的属性.
我使用attributes来描述一个类是如何被存储到数据库中的.在一个类中,我将指出那些属性应该被持续化,正如存储过程是如何更新数据库的.为了描述表里的列,我在类的属性里面使用了attributes. 列可以是一个简单的数据字段,唯一的键或外键.
如何创建自己的attribute?
相当容易,你可以创建一个继承于system.attribute的类.至于命名习惯你可以加上个attribut后缀.当你创建一个attribute,你要知道该attribute如何被用.是否应该被用在类?属性,或多个定义是允许的?
现在是来看些代码的时候了.这些attributes被用来描述一个业务物件类:
using system;
using system.data;
namespace dal
{
[attributeusage(attributetargets.property)]
public class basefieldattribute : attribute
{
string columnname;
public basefieldattribute(string columnname)
{
this.columnname = columnname;
}
public string columnname
{
get { return columnname; }
set { columnname = value; }
}
}
[attributeusage(attributetargets.property)]
public class datafieldattribute : basefieldattribute
{
dbtype dbtype = dbtype.string;
int size = 0;
public datafieldattribute(string columnname) : base(columnname)
{
}
public dbtype type
{...
下一页 摘要: 1 创建excel文件 要在delphi中控制excel,就必须用到ole自动化。现在一般采用ole2来创建ole对象,当激活一个ole对象时,服务器程序仅在容器程序内部激活,这就是所谓的“就地激活”(in-place activation)。 创建excel文件时,先创建一个ole对象,然后在对象中建立工作表worksheet,如函数createexcel所示: ......