有没有办法将所有数据库记录和结构保存为多个查询到一个XML文件中?
我做的是:
procedure CopyRecords(Sender: TObject);
begin
try
TFDQuery.SQL.Text := 'SELECT * FROM SAMPLE_TABLE1';
TFDQuery.FetchOptions.Unidirectional := False;
TFDQuery.Open;
TFDQuery.FetchAll;
TFDmemtable.Data := DM.qry_SQL.Data;
TFDmemtable.First;
while not TFDmemtable.Eof do
begin
TFDmemtable.Edit;
TFDmemtable.Post;
TFDmemtable.Next;
end;
TFDmemtable.SaveToFile('C:\Test.xml', sfXML);
finally
TFDmemtable.Close;
end;
end;
这适用于一个查询,但如果我更改SQL文本并保留文件名,则会重写内容。我想更改查询(SQL.text)并将所有查询数据保存到一个 XML文件中。
TFDQuery.SQL.Text := 'SELECT * FROM SAMPLE_TABLE1';
... save ...
TFDQuery.SQL.Text := 'SELECT * FROM SAMPLE_TABLE2';
... save (append) ...
答案 0 :(得分:3)
如果你想要创建/附加到你所描述的Xml文件,你实际上并不是 需要使用FDMemTable。您可以直接从您的FDQuery中执行以下所示的操作。
你基本上会看到它
'report_abuse'
节点的内容复制到
第二个XmlDocument并保存文档。代码:
class AbuseType extends AbstractType
{
// ...
$builder->add('subject', TextType::class, array(
'label' => 'label.subject',
'data' => 'report_abuse',
'disabled' => 'true',
))
// ...
}