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