我有一個應用程序在訪問(.mdb)中我的連接使用Microsoft.Jet.OLEDB.4.0製造工作,我NEAD導出MasterTable和detailtables(1,2,3)轉換爲XML有可能嗎? 如果可以,我可以在其他地方(通過電子郵件發送)打開並更新或插入數據庫?這些表格是相同的,只有我們處於無法融入數據庫網絡的地方。德爾福打開保存爲XML使用Microsoft.Jet.OLEDB.4.0(.mdb)中
Thank's
我有一個應用程序在訪問(.mdb)中我的連接使用Microsoft.Jet.OLEDB.4.0製造工作,我NEAD導出MasterTable和detailtables(1,2,3)轉換爲XML有可能嗎? 如果可以,我可以在其他地方(通過電子郵件發送)打開並更新或插入數據庫?這些表格是相同的,只有我們處於無法融入數據庫網絡的地方。德爾福打開保存爲XML使用Microsoft.Jet.OLEDB.4.0(.mdb)中
Thank's
你可以嘗試從您的訪問數據集複製數據到一些ClientDataSets並將它們保存爲XML。
然後,您可以分發XML文件,以便與您的應用程序的ClientDataSets一起使用,因爲這些應用程序沒有可用的連接。 (BriefCase模型)。
我強烈建議閱讀關於ClentDataSets(例如Cary Jensen的文章)。
您可以使用ADOTable
導出或導入表中的XML格式。 代碼: 出口:
ADOTable1.SaveToFile('c:\test.xml',pfXML);
進口:
ADOTable1.LoadFromFile('c:\test.xml');
是的,這是我揉。我如何保存和加載Masterdataset字段和詳細字段。 master.First; 而不是Mastertable.Eof做開始 Masterfield1 ............... Mastertable.next; 結束, detail.First; 雖然不詳細。但確實開始 明細欄........................ detail.next; ............ detailfiel_1 ............ detailfiel_2 Masterfield2 ............ detailfiel_1 ..... ....... detailfiel_2 – 2010-08-29 10:18:53
嗨,當我嘗試ADOTable1.Post;不會工作有另一種方式?('c:\ test.xml') ADOTable1.UpdateBatch(arall); ADOTable1.Post; – 2010-08-29 17:07:17
您可以使用SimpleStorage,並推出自己的ADOTable數據適配器。
該單位Cromis.SSA.DataSet可以作爲一個很好的起點。
當您使用ADODataSet1.LoadFromFile('c:\test.xml')
你實際上是創建一個斷開DataSet
。
你的選擇是創建一個臨時TADODataSet
(MyXMLDataSet
)。
MyXMLDataSet
不需要Connection
對象(或一連接串)。
使用MyXMLDataSet.LoadFromFile('c:\test.xml')
然後逐行遍歷它,並將新行發佈到ADOTable1
或編輯現有行。
下面是一個例子:
MyXMLDataSet := TADODataSet.Create(nil);
try
MyXMLDataSet.LoadFromFile('c:\test.xml');
ADOTable1.Connection.BeginTrans;
try
while not MyXMLDataSet.Eof do
begin
if not ADOTable1.Locate('ID', MyXMLDataSet.FieldByName('ID').AsString, []) then
begin
// add new record
ADOTable1.Append;
ADOTable1.FieldByName('ID').AsString := MyXMLDataSet.FieldByName('ID').AsString;
// other fields...
ADOTable1.Post;
end
else
begin
// edit record
end;
MyXMLDataSet.Next;
end; // while
ADOTable1.Connection.CommitTrans;
except
ADOTable1.Connection.RollbackTrans;
raise;
end;
finally
MyXMLDataSet.Free;
end;
注:上面的代碼沒有優化/測試。
有沒有辦法將數據加載到我的數據集ADOTable1.LoadFromFile('c:\ test.xml')這種方式不適用於我的數據庫的數據 – 2010-09-06 21:35:50