首页 > 开发 > 综合 > 正文

PowerBuilder修改数据库表结构的技巧

2024-07-21 02:10:04
字体:
来源:转载
供稿:网友

powerbuilder是目前公认的、最佳的数据库前端开发工具之一。在实际开发应用中,经常会遇到修改数据库表结构的情况。用powerbuilder修改数据库表结构与用foxbase修改数据库结构不同。在powerbuilder中,除可以在数据库表结构中添加字段名外,无

法直接修改数据库表结构,如删除某个字段名或类型或字段名长度等,都会导致数据库表记录的丢失。我们通过实践探索,总结了几

种方法仅供大家参考,请大家批评指正。

一、 修改数据库表结构,数据库表中没有记录

方法1:将表结构以export table 文件格式输出。

从database中选择要修改的数据库表table。

从objects中选择export table/view syntax to log,取名保存即选save log as,以*.sql格式保存。

从objects中选择database administration。

从file中选择dos open,选文件名file name,*.sql,打开进行修改。

从objects中选择execute sql。即产生一新的数据库表结构。

注意:table名不要同名。

方法2:将表结构以sql syntax 文件格式输出。

从database中选择要修改的数据库表table。

按preview键。

从file中选择save rows as,file format 选sql syntax,取表名*.sql保存。

从file中选择dos open,打开表名*.sql,进行修改。

取表名后,execute sql。

注意:此种方法没有生成primary key。

二、 修改数据库表结构,保存原数据库表中记录

方法1:先修改数据库表结构,用sql语句转移数据库表中记录

将表1生成表1.sql,修改结构,将表1另取名为表2。

运行表2.sql,生成表2。此时产生一新的数据库表结构。

从objects中选择database administration,写sql statement: insert into 新表名select * from 旧表名; execute sql。将旧表中所有字段内容转入新表中。

删除表1,从file中选择dos open,打开文件名file name即表2.sql,将表2统一改为表

1。运行表1.sql,生成新结构的表1,此时无记录。

按步骤3,将表2中的记录全部转入表1中。

  若将部分字段转入,写sql statement:

  insert into 新表名(字段1,字段2......) 

  select 字段1,字段2......from 旧表名;

execute sql。旧表中部分字段内容转入新表中。

方法2:将表结构和记录以sql syntax 文件格式输出。

从database中选择要修改的数据库表table,按preview键。

从file中选择save rows as,file format 选sql syntax,取表名*.sql保存。

从file中选择dos open,打开表名*.sql,进行修改。

取表名后,execute sql。

方法3:将表结构和记录以txt 文件格式输出。

从database中打开数据库表,按preview键。

从file中选择save rows as,file format 选txt,取表名*.txt保存。

将表生成表.sql,修改结构,运行表.sql,此时产生一新的数据库表结构。

从database中打开数据库表,按preview键。

从rows中选择import,选*.txt。

从file中选择save changes to database。

注意:方法1适用于任何修改数据库表结构的任何情况。方法2和方法3对删除字段名不适用。

另外,用message传递参数必须注意以下几点:

1. 最好执行完窗口操作(打开或关闭)后马上将message消息对象的值传给变量,这是因为message是全局使用的对象,每一次事件被触发或传送时都会被使用,其他script 也有可能用到message消息对象,因此它有被覆盖的危险。
2.避免传送null对象,以免程序出错。 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表