如何利用ADO的Recordset,Save存成XML |
尚未結案
|
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
|
Rain
資深會員 發表:31 回覆:236 積分:268 註冊:2003-02-17 發送簡訊給我 |
|
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
|
Rain
資深會員 發表:31 回覆:236 積分:268 註冊:2003-02-17 發送簡訊給我 |
讀取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;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |