procedure CopyXMLToDB(const FileName: PChar);
Var
BS: TADOBlobStream;
xml: IXMLDocument;
begin
With Query1 do
begin
xml := TXMLDocument.Create(nil);
xml.LoadFromFile(ExtractFilePath(Application.ExeName)+FileName+'.xml');
SQL.Text := 'select field1 from table1 where table1id=1';
Open;
Edit;
BS := TADOBlobStream.Create(TBlobField(FieldByName('field1')),bmWrite);
xml.SaveToStream(BS);
BS.Free;
Post;
Close;
end;
end;
Вопрос по БД.
Как в БД (BDE) сохранить значение переменной (сложной структуры данных)?
Цитата:
Originally posted by Fixxxer
Как в БД (BDE) сохранить значение переменной (сложной структуры данных)?
Как в БД (BDE) сохранить значение переменной (сложной структуры данных)?
Используй BLOB поля. (тип, Text, NText, если я не ошибаюсь)
А можно поподробней
Цитата:
Originally posted by Fixxxer
А можно поподробней
А можно поподробней
Поля типа BLOB в БД, я думаю, ты сам описать сможешь.
Ниже приведен пример функции, копирующей содержимое XML файла в БД. Я использую ADO-компоненты, в BDE должны быть аналоги.
Код:
Подобным образом происходит и считывание из BLOB-поля.
xml: IXMLDocument;
а далее идет текст xml := TXMLDocument.Create(nil);?
Почему 'T', а не 'I' ?
Цитата: malor
Почему переменная xml объявлена как
xml: IXMLDocument;
а далее идет текст xml := TXMLDocument.Create(nil);?
Почему 'T', а не 'I' ?
xml: IXMLDocument;
а далее идет текст xml := TXMLDocument.Create(nil);?
Почему 'T', а не 'I' ?
Потому что это интерфейс.