请问如何对Access数据库进行升级,用户已有数据在老库里,新库中有些表、查询结构有变化,或是有新增的。请问有什么简单点的方法可以程序实现,我用的是Delphi

解决方案 »

  1.   

    直接在新程序用SQL修改表结构,新建立表,用SQL语句,我用过
    行的,老兄
    create table ................等我刚做完,呵呵
      

  2.   

    文件->获取外部数据->导入
      

  3.   

    1.在数据库中增加一个记录当前程序版本号的纪录
    2.如果程序版本号与数据库中记录的不同,则执行修改数据库结构的代码
    3.修改数据库时,直接使用sql 语句进行,不过在修改之前,建议先将原数据库文件备份,防止发生意外将原数据库中某些数据破坏修改表结构几个语句:(Access下通过,其他数据库类型不一定适用)增加字段: Alter Table <表名> Add <字段名> <字段类型> [字段长度] [NULL]/[Not NULL]
    删除字段: Alter Table <表名> DROP COLUMN <字段名>
    修改字段:Alter Table <表名> Alter COLUMN <字段名> [新类型][字段长度] [NULL]/[Not NULL]
      

  4.   

    hthunter(核桃):
    请问ACCESS本身就有的这个功能,我在程序里怎么实现呢?gong_hui2000(gong_hui2000) :
    您说的意思是写死在程序里吗? 
    但是有个问题呀,比如说:v1->v2->v3版本都是按顺序升级倒是问题不大,但要是v1->v3就会有问题哦,v2与v1不同的结构不就没升级到吗?cow8063:
    能否说详细点,Access好多语法跟Sqlserver都不一样哦:( !
      

  5.   

    我做成安装程序,安装的时候并不把用户的
    数据覆盖,而是保留它
    安装全后,运行最新的程序,里面当然已经有修改结构\表呀等的语句,至于语法,我目前只是新增表\修改表结构,这些都没有什么问题呢,你可以在编写时测试成功再发布还有版本我觉得不用,直接用最新的和最旧的数据文件比较,也就是说你直接用最旧的数据作标准,然后修改,当然,里面如果已经存在某个字段或者表,DELPHI会提示出错的,这时可以用TRY处理,什么也不干行了