教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 系统编程教程 · PowerBuilder · PowerBuilder基础教程

PowerBuilder修改数据库表结构地灵活技术

学院最新推荐文章
教程推荐
『PowerBuilder修改数据库表结构地灵活技术』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-9-21 

在实际开发应用中,经常会遇到修改数据库表结构的情况。用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对象,以免程序出错。



作者:无 来源:无
】【关闭窗口
·上页:
·下页:
相关文章
     系统编程教程 - PowerBuilder基础教程
普通教程测试...
普通教程马上结~~~
普通教程发个蛋帖
普通教程PB9.0连接sqlserver数据库,配置
普通教程赚分,马上结...
普通教程赚分,速结
普通教程赚分帖~~~
普通教程rowscopy时怎么样把目标数据窗中
普通教程谁能告诉我问啥会错误?
普通教程让我沉吧~~~
普通教程0分帖子~~~
普通教程每日一蛋
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光