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

如何利用ADO的Recordset,Save存成XML

尚未結案
a120803
初階會員


發表:61
回覆:66
積分:25
註冊:2003-03-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-04 16:55:12 IP:163.25.xxx.xxx 未訂閱
請問各位大大: 如何利用ADO的Recordset,Save存成XML
Rain
資深會員


發表:31
回覆:236
積分:268
註冊:2003-02-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-04 18:54:47 IP:218.5.xxx.xxx 未訂閱
with SaveDialog1 do if Execute then ADOQuery1.SaveToFile(FileName, pfXML);
a120803
初階會員


發表:61
回覆:66
積分:25
註冊:2003-03-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-05 01:28:24 IP:163.25.xxx.xxx 未訂閱
謝謝大大: 那ADO可不可以讀取XML資料庫呢 並且具有類似DOM功能修該XML資料
Rain
資深會員


發表:31
回覆:236
積分:268
註冊:2003-02-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-05 14:31:43 IP:218.5.xxx.xxx 未訂閱
讀取XML資料庫可以用LoadFromFile,但只能是顯示,無法修改或者保存至資料庫,看一下 LoadFromFile的代碼就清楚了: procedure TCustomADODataSet.LoadFromFile(const FileName: WideString); begin Close; CommandType := cmdFile; LockType := ltBatchOptimistic; CommandText := FileName; Open; end; 可以發現它改變了ADO的三個很重要的屬性包括SQL語句,所以根本就無法再對原來的資料庫進行操作,如果想要從XML檔載入資料並且保存至資料庫,只能自己再寫代碼控制了,我不知道是否有其他好的方法,但至少你可以這樣做 var ADOQTemp: TADOQuery; begin with OpenDialog1 do begin if Execute then begin ADOQTemp := TADOQuery.Create(nil); ADOQuery1.DisableControls; with ADOQTemp do begin try LoadFromFile(FileName); First; while not ADOQTemp.Eof do begin ADOQuery1.Append; for I := 0 to Fields.Count - 1 do ADOQuery1.Fields[I].AsVariant := Fields[I].AsVariant; ADOQuery1.Post; Next; end; finally Free; ADOQuery1.EnableControls; end; end; end; end; end;
系統時間:2024-05-19 2:32:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!