原来做过Delphi+sqlserver的系统,增加表或字段时,用Sql查询分析器执行一段代码!
这次做了一个Delphi+Access的系统,因为第一次考虑不够全面,有些功能必须通过增加表或字段来解决,但又不能破坏客户原有的数据,又不能去现场给他去数据库中加,想在程序中增加一个升级功能!想实现,程序连接数据库后,去数据库中查找某个表或某个字段是否存在,如不存在,则在系统菜单中显示升级按钮,写一段代码让他点击进行更新。哪位朋友给个代码参考?

解决方案 »

  1.   

    Access数据库里最好有一个字段专门记录数据库版本.
    升级程序首先读取版本号,然后根据不同版本号执行添加表或字段的代码.添加字段
    adoquery1.sql.clear;
    adoquery1.sql.add("alter table 表名 add 字段名 datatype");
    adoquery1.excesql;
      

  2.   

    读取access数据库中所有表的名称,逐个与新表的表名比较,若不存在则create table....
    读取指定表的所有字段名,逐个与新字段名比较,若不存在则 alter table....
      

  3.   

    自己新建一个数据库(新结构),然后单独写一个数据库导入工具(就是把用户的数据库内容查询出来写入到你的新数据库),然后覆盖用户的旧数据库,还用什么Create啊...
    把新的空数据库和数据库导入工具发给用户就完了嘛...