關於新增資料庫table的問題... |
尚未結案
|
kojiliu
一般會員 ![]() ![]() 發表:5 回覆:6 積分:2 註冊:2005-05-31 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 如果您是使用ADO存取可參考如下方法﹒
一﹒ADO存取提供讀取資料表名稱(Table Name)的方法﹐您可先用相關方法將兩個資料庫中的所有資料表名稱讀取到Strings中﹐然后再用迴圈做以比較﹐記錄下B資料庫中沒有的資料表名稱﹐取得資料表名稱的方法如下﹕
ADOConnection1.GetTableNames(ListBox1.Items, False); 二﹒先在B資料庫中建立這些比對下來的資料表﹐此時資料表是無內容的﹐即為空資料表﹒ 三﹒將A資料庫中的資料表寫入B資料庫的資料表﹐可借用ADO存取的BriefCase模式﹐先用一個連接ADOConnection1的資料集元件的SaveToFile方法將某個資料表儲為XML格式的檔案﹐然后再用連接另一個ADOConnection2的資料集元件的LoadFromFile方法將此XML檔案讀進資料表中﹐以下以實例描述步驟﹐适用于已經備份當前工作的資料庫檔案﹕
1﹒ADOConnection1連接到目前正在工作的薪水資料庫檔案(Salary.MDB)﹐ADOTable元件連接此資料庫檔案中的職員資料表(Employee)﹔ADOConnection2連接到備用的資料庫檔案(Modal.MDB)﹐此資料庫檔案和之前的薪水資料庫檔案結搆完全相同﹐ADOTable2連接此資料庫檔案中的職員資料表(Employee)﹐此資料表和ADOTable1連接的資料表結搆完全相同﹐只是無資料內容﹒兩個ADOTable資料集元件均透過上游各自的ADOConnection﹐正常Open﹒ 2﹒在名稱為Save的Button之OnClick事件中輸入如下程式碼﹕
begin ADOTable2.SaveToFile(ExtractFilePath(Application.ExeName)+'Temp', pfXML); end; //以上程式碼將ADOTable2對應的Employy資料表(無資料內容)儲存到XML格式 //的Temp檔案中3﹒當ADOConnection1對應的當前工作之資料庫檔案已經完成備份﹐需要調用一個空的Employee資料表進來時﹐可在名稱為Load的Button之OnClick事件中輸入如下程式碼﹕ begin ADOTable1.LoadFromFile(ExtractFilePath(Application.ExeName)+'Temp'); end; //以上程式碼將之前建立的XML格式的Temp檔案回存當前的資料庫檔案中﹐即可 //看作為建立一個新的Employee資料表以供使用者使用當然﹐在以上的步驟中﹐小弟有省略在LoadFromFile步驟中的判斷Temp檔案是否存在的部分程式碼﹐為避免找不到Temp檔案的問題﹐在實做中還是需要加上此部分的判斷功能﹐一般來講﹐配合OpenDialog元件和SaveDialog元件是比較常用的方法﹒ 以上供參考﹗ =================================
------
忻晟 |
kojiliu
一般會員 ![]() ![]() 發表:5 回覆:6 積分:2 註冊:2005-05-31 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
kojiliu
一般會員 ![]() ![]() 發表:5 回覆:6 積分:2 註冊:2005-05-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |