如何进行数据库结构的升级处理???
比如说我原数据库的结构如下的方式编写了一个程序,结构如下:
type //定义记录集[结构]
studentrecord=record
Versnum:string; //数据库的版本号(比如这个为Ver:1.00)
xh:string[8]; //学号,
xm:string[8]; //姓名
yw,sx:integer; //定义科目
end;
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
由于程序中内部的重新设计结构如下:
type //定义记录集[结构]
TstudentClass=^Tmystudent;
Tmystudent=record
Versnum:string; //数据库的版本号(比如这个为Ver:1.40)
xh:string[8]; //学号,
xm:string[8]; //姓名
yw,sx:integer; //定义科目
JPGsize:integer; //图片大小
JPGfile:pchar; //图片内容
end;
比如说我原数据库的结构如下的方式编写了一个程序,结构如下:
type //定义记录集[结构]
studentrecord=record
Versnum:string; //数据库的版本号(比如这个为Ver:1.00)
xh:string[8]; //学号,
xm:string[8]; //姓名
yw,sx:integer; //定义科目
end;
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
由于程序中内部的重新设计结构如下:
type //定义记录集[结构]
TstudentClass=^Tmystudent;
Tmystudent=record
Versnum:string; //数据库的版本号(比如这个为Ver:1.40)
xh:string[8]; //学号,
xm:string[8]; //姓名
yw,sx:integer; //定义科目
JPGsize:integer; //图片大小
JPGfile:pchar; //图片内容
end;
解决方案 »
- ShellTreeView组件,(如何)能够显示隐藏的系统文件夹吗?
- 自己开发一个可视化的组件,如何添加事件 ?
- 关于DELPHI 新手
- 请问:RadioGroup如何表示被选中
- 突发问题一个,求助!
- 数据更新问题(问题解决立马结帖)
- 一个实际用途的问题!送分100,关于windows的系统问题
- 求助!! Delphi中如何取得光標所在的控件(Edit)名稱?
- 如何使用SQL实现模糊查询??
- 我想做个程序,拦截所有窗口的键盘按键,该怎样写!
- SysUtils是封装在哪个DLL里的呢?
- dxComponentPrinter1 打印提示 printer has encountered error?是何原因
数据库的版本号(比如这个为Ver:1.00)
数据库的版本号(比如这个为Ver:1.40)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
想根据数据库中的版本号从1.00升级到1.40中,并且能在1.40版本
的程序中能使用这个升级后的数据库
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
或者用其它的方法如何完成>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
所以不知如何处理????????????????????????????????????????
程序升级的兼容性问题:
1.更新数据库一般采用执行脚本.sql的方式,或者将执行语句封装在动态库中,程序调用动态库或者
执行脚本进行升级
2.既然是程序更新,涉及到表结构变化,那么你在引用表中变化字段时就要考虑兼容性,如果没有升级脚本成功做升级脚本处理或者单独处理,如果升级成功可进行后续处理,判断很多方式(如判断该表中是否有该字段)
3.另外不建议将表结构定义在程序中,修改起来及大量SQL语句都会使得EXE编译后很大,模块化不清晰
这是针对标准数据库类似与ACCESS版本的,而我的数据库是我自己
定义的就是根据结构来:添加\修改\插入\删除等操作的,没有使用
SQL方面的语句>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Versnum:string; //数据库的版本号(比如这个为Ver:1.00)
xh:string[8]; //学号,
xm:string[8]; //姓名
yw,sx:integer; //定义科目
end;
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
由于程序中内部的重新设计结构如下:
type //定义记录集[结构]
TstudentClass=^Tmystudent;
Tmystudent=record
Versnum:string; //数据库的版本号(比如这个为Ver:1.40)