您现在的位置: 中国IT实验室 >> 数据库技术 >> 数据库技术 >> 文章正文
数据库前端开发:PB数据库表结构的技巧

ChinaITLab收集整理  2005-8-31  保存本文  推荐给好友  QQ上看本站  收藏本站



  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对象,以免程序出错。




 相关文章  热门文章
WEB2.0到底是什么东东?三点来理解它!
数据库技巧之Dephi的DLL技巧汇集
学一个比较完美的spacer div技巧
eXtremeDB内存式实时数据库的简介
PB程序之间是怎样传递字符串变量?
为什么Access会报错:显示密码无效?
Power Builder中数据窗口技巧十则
浅议C语言中数组和指针的相互操作
疑难解答之ACCESS的数据极限
PB中可以动态创建浏览器的OLE对象

 文章评论


认证培训
热门专题       more
相关下载
论坛新帖
博 客