在实际开发应用中,经常会遇到修改数据库表结构的情况。用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生成表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对象,以免程序出错。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器