当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言:
 

 

 ·socket编程之connect超时    »显示摘要«
    摘要: 网络编程中socket的分量我想大家都很清楚了,socket也就是套接口,在套接口编程中,提到超时的概念,我们一下子就能想到3个:发送超时,接收超时,以及select超时(注:select函数并不是只用于套接口的,但是套接口编程中用的比较多),在connect到目标主机的时候,这个超时是不由我们来设置的。不过正常情况下这个超时都很长,并且connect又是一个阻塞方法,一个主机不能连接,等着co......
 ·java学习从入门到精通    »显示摘要«
    摘要:作者: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

        {


...   下一页
 ·delphi 控制excel    »显示摘要«
    摘要:  1 创建excel文件  要在delphi中控制excel,就必须用到ole自动化。现在一般采用ole2来创建ole对象,当激活一个ole对象时,服务器程序仅在容器程序内部激活,这就是所谓的“就地激活”(in-place activation)。  创建excel文件时,先创建一个ole对象,然后在对象中建立工作表worksheet,如函数createexcel所示: ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE