DELPHI编程如何实现数据库结构的扩展及相关自定义数据库结构如下
1)无版本号 结构
type
    TRec=record     {定义一个记录}
    name:string[10];     //姓名
      xb:string[2];      //性别
     age:integer;        //年龄
      yw:integer;        //语文
      xs:integer;        //数学
      zz:integer;        //政治
end;
2)有版本号  结构
type
    TRec=record     {定义一个记录}
    bbver:string;     //版本说明 Ver1.00a 
    name:string[10];     //姓名
      xb:string[2];      //性别
     age:integer;        //年龄
      yw:integer;        //语文
      xs:integer;        //数学
      zz:integer;        //政治
end;
3)有版本号并加密  结构
type
    TRec=record     {定义一个记录}
    bbver:string;     //版本说明 Ver1.00a 
    name:string[10];     //姓名
      xb:string[2];      //性别
      //统一数据类型为[字符型数据]方便以后的[加解密处理]
     age:string[3];        //年龄  integer
      yw:string[3];        //语文
      xs:string[3];        //数学
      zz:string[3];        //政治
end;

解决方案 »

  1.   

    关键字不是版本号呀,因为数据库的升级是从无“版本号”
    升级到有“版本号”的
    例如无“版本号”的结构是:
    100001 王一 男 20 65 75 80
    100002 王二 女 21 60 70 82
    100003 王三 男 22 62 78 88
    100004 王四 女 23 66 79 85
    100005 王五 男 24 68 75 90
    升级后的有“版本号”
    Ver:1.01 100001 王一 男 20 65 75 80
    Ver:1.01 100002 王二 女 21 60 70 82
    Ver:1.01 100003 王三 男 22 62 78 88
    Ver:1.01 100004 王四 女 23 66 79 85
    Ver:1.01 100005 王五 男 24 68 75 90
    再以后以这个版本来升级数据库的级别
    如Ver:1.01升级到Ver:1.02(若数据库版本不是这个版本就不能读取信息及相关操作)
      

  2.   

    如果你把一个 record 看做一个TStream (TBlobField),那么就只需要
    一个“标记”,一个Stream 字段,就把这些变化都涵盖了。
      

  3.   

    如果你把一个 record 看做一个TStream (TBlobField),那么就只需要
    一个“标记”,一个Stream 字段,就把这些变化都涵盖了。
      

  4.   

    感觉就像是把 jpg,bmp,ico 等图片保存在数据库里一样。标记一下后缀。就全能区分了。
    也许某天,你还想玩一种sgz后缀的,也一样可以处理。
      

  5.   

    关键字不是版本号呀,因为数据库的升级是从无“版本号”
    升级到有“版本号”的
    例如无“版本号”的结构是:
    100001 王一 男 20 65 75 80
    100002 王二 女 21 60 70 82
    100003 王三 男 22 62 78 88
    100004 王四 女 23 66 79 85
    100005 王五 男 24 68 75 90
    升级后的有“版本号”
    Ver:1.01 100001 王一 男 20 65 75 80
    Ver:1.01 100002 王二 女 21 60 70 82
    Ver:1.01 100003 王三 男 22 62 78 88
    Ver:1.01 100004 王四 女 23 66 79 85
    Ver:1.01 100005 王五 男 24 68 75 90
      

  6.   

    用Delphi进行数据库之间转换http://big5.webasp.net/article/21/20895.htm
      

  7.   

    你的意思没有表达清楚。
    对于源数据库每条记录你需要:
      如果源数据库的结构你有的话,那么新旧数据库不同字段之间的映射关系你是清楚地,可能新的数据库里面有部分字段原来是没有的,除了这部分不赋值或者赋一个新的缺省值,其它的根据映射关系填充新的结构体的内容;然后按照新的结构体组织SQL语句入库。
      

  8.   

    自定义数据库结构,既然版本号是数据库的版本,显然不应该定义在某个表中,而是在数据文件开头做标记;
    一大堆的Ver:1.01都是冗余信息,明显不合理的设计。
      

  9.   

    我用的是这个
    2)有版本号 结构
    type
      TRec=record {定义一个记录}
      bbver:string; //版本说明 Ver1.00a  
      name:string[10]; //姓名
      xb:string[2]; //性别
      age:integer; //年龄
      yw:integer; //语文
      xs:integer; //数学
      zz:integer; //政治
    end;
    并将版本的字段上做了个标记,有版本号是就写个“版本号”,无版本是就以0为标记
    谢谢各位的赐教