全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1729
推到 Plurk!
推到 Facebook!

如何寫個在舊資料表中增加新欄位的程式

尚未結案
bigcome2004
一般會員


發表:28
回覆:19
積分:9
註冊:2004-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-22 16:07:14 IP:211.20.xxx.xxx 未訂閱
舊資料表原本有兩個欄位,且裡面也有資料, 新的程式有舊有的兩個欄位,但同時又增加了兩個新的欄位, 但是新程式執行後,因舊資料表沒有新的欄位而掛掉, 因此,想用一支程式可以先把舊資料表中的兩個欄位裡的資料讀取出來後備份, 之後,再將新的資料表覆蓋掉就資料表, 讓資料表內的欄位從原本的2個新增為4個, 再將之前備份出來的資料,放回新資料表中同一個欄位裡, 這樣才完成一個新增欄位的動作, 不知是否有高手可以幫我解決這問題,幫我設計一個類似轉檔的程式, 因為資料庫我幾乎不懂...麻煩各位大大幫幫我!! 在此先想各位大大說聲謝謝!!
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-22 22:45:33 IP:61.62.xxx.xxx 未訂閱
是 Access(*.mdb) 的資料庫嗎? 若是的話,其實可以直接使用 Access 來處理
bigcome2004
一般會員


發表:28
回覆:19
積分:9
註冊:2004-02-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-22 23:17:53 IP:218.170.xxx.xxx 未訂閱
我是用BCB中的DataBase Desktop做的...一定要用一支程式來處理...1備份舊資料表來未內資料 2.新增新欄位...3.將舊資料填回新資料表中相同的欄位...
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-22 23:29:28 IP:61.62.xxx.xxx 未訂閱
1. 預防萬一,先備份你的舊資料庫 2. 打開 Database Desktop,開啟你要修改的資料庫 3. 選單 [Table] -> [ReStructure] 4. 增加你要新增的欄位 5. 存檔,大功告成
bigcome2004
一般會員


發表:28
回覆:19
積分:9
註冊:2004-02-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-24 09:10:31 IP:211.20.xxx.xxx 未訂閱
這個方式我知道...但我需要的是用程式來新增欄位...且不會刪除到舊有欄位的資料,而不是用工具修改... 我現在是用這樣 Table1->Active=false; Table1->DatabaseName = "CHANG_DB"; Table1->TableType = ttParadox; Table1->FieldDefs->Update(); Table1->FieldDefs->Add("TT",ftString,30,true); 但有錯誤...可以新增..但卻會把舊欄位內的資料全部刪除...只剩就欄位和新增之欄位..請各位大大幫忙...不知是否可以新增欄位卻又不會刪到舊資料!!
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-24 12:28:54 IP:60.248.xxx.xxx 未訂閱
基本上好像不太可能新增欄位還能夠同時保留舊資料的 還是得自行備份吧 所以: STEP 1: 先讓 Table1 指向舊有的 DataBase STEP 2: 做一個 Table2 建立新的 Database 我想你已經查到新增欄位的方法,那新增 Table 應該也不困難了 STEP 3: 跑一個 while loop 就可以把 Table1 的東東,複製至 Table2 去了 STEP 4: 就可以幹掉舊的,用新的代替了
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-24 16:38:54 IP:211.20.xxx.xxx 未訂閱
可以用DDL指令加欄位 只是對ACCESS 欄位TYPE 不熟 以下網站給你參考(是 SQL Server 的指令,不知有沒有和ACCESS相容) 若覺得不合你用 你可以到 GOOGLE 查 "ACCESS alter table add" 有一堆可以參考的 http://fjt.now.net.cn:7751/www.52z.com/info/ArticleView/2004-11-7/Article_View_36286.Htm 一般來說它的格式大概如下,只是各家資料庫都會改一點地方 ALTER TABLE table_name {ADD field_name field_type(size)} 大寫部份是指令,小寫部份是你的TABLE要對應的東東
系統時間:2024-04-30 2:13:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!