Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];

Вниз

Как сохранить текст из BLOB в файл ?   Найти похожие ветки 

 
WG   (2004-01-08 16:57) [0]

Мастера, помогите в простом вопросе - надо сохранить содержание мемо-поля из БД в текстовом файле (вообще-то надо его в Word передать, но, я так понял, проще всего снача в файл). Как использовать TBlobField.SaveToFile - не могу понять синтаксис и всё :(

Table1.FieldByName("HOLDERS").SaveToFile("c:\temp.tmp") - бред ведь ?

По форуму искал, смотрел, но ничего не понял, туплю чего-то :( Объясните по-простому.


 
MV   (2004-01-08 17:32) [1]

Стандартная последовательность:
1.Открываем набор данных.
2.На базе Memo-поля создаем Stream
3.Стреам пишем в файл
4.Убиваем стреам.
5.Закрываем набор данных.


 
WG   (2004-01-08 18:48) [2]

Жутко извиняюсь за назойливость, но нет ли какого конкретного примера ? Я понимаю принцип, проблемы у меня скорее с синтаксисом и увязкой объектов (постоянно то несовместимость типов, то еще что-то)...


 
WG   (2004-01-09 10:21) [3]

Мастера, ну подскажите, плиз. Парюсь ведь с ерундой. Вот беру пример из хелпа -

procedure TForm1.Button1Click(Sender: TObject);

var
Stream1, Stream2 : TBlobStream;
begin
Stream1 := TBlobStream.Create(Table1Notes, bmRead);
try
Table2.Edit;
{ here’s a different way to create a blob stream }
Stream2 := Table2.CreateBlobStream(Table2.FieldByName("Remarks"), bmReadWrite);
try
Stream2.CopyFrom(Stream1, Stream1.Size);
Table2.Post;
finally
Stream2.Free;
end;
finally
Stream1.Free;

end;
end;

Делаю вроде все то же самое:

var Stream1 :TBlobStream;

begin

Stream1 := Table1.CreateBlobStream(Table1.FieldByName("HOLDERS"), bmRead);
try
Stream1.SaveToFile("c:\temp10.tmp");
finally
Stream1.Free;
end;

end;

Пишет, собака, на строке Stream1 := Table1.CreateBlobStream....:

[Error] Unit1.pas(270): Incompatible types: "TBlobStream" and "TStream"

В чем дело ? Нид хелп !!!


 
Desdechado   (2004-01-09 16:03) [4]

var Stream1 :TStream;


 
Stas   (2004-01-09 16:13) [5]

Ты можешь прямо к полю обратится (Если это возможно)

QueryMyField.SaveToFile ("MyFile.txt")

где QueryMyField - Blob-поле созданное в Designed time


 
Stas   (2004-01-09 16:17) [6]

У меня вот так работает
TBlobField(Query.FieldByName("MyField")).SaveToFile("MyFile.txt")


 
WG   (2004-01-09 16:23) [7]

Ладно, с совместимостью я разобрался, конструкция типа

var Stream1: TBlobField;
...
Stream1 := TBlobField( TBlobStream( Table1.CreateBlobStream(Table1.FieldByName("HOLDERS"), bmRead) ));
Stream1.SaveToFile("c:\temp10.tmp");
Stream1.Free;
...

...компилируется, но при выполнении прога падает. Файл temp10.tmp создается, но пустой. Я пробовал так же через TFileStream делать - FileStream.CopyFrom(Stream,0);

но при освобождении (free), файл обнуляется. Блин, уже голову сломал.


 
WG   (2004-01-09 16:28) [8]

2 Stas

Й-е-е-ес ! Заработало !!! Спасибо огромное !!! Вот именно TBlobField(Query.FieldByName("MyField")).SaveToFile("MyFile.txt") мне и надо было !


 
Romkin   (2004-01-09 16:50) [9]

И в Ворд мона:

var
Content: string;
v: variant;
begin
Content := FieldByName("MyField")).asString;
V := CreateOleObject("Word.Application");
V.Documents.Add();
V.Selection.TypeText(Content);
V.Visible := true;
end;



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
3-2005
New
2004-01-07 13:48
2004.02.02
Помогите с запросом


6-2237
funtik
2003-11-29 22:05
2004.02.02
сеть


14-2329
HakoLamer
2004-01-10 14:13
2004.02.02
SQL UPDATE - курсовик ГОРИТ!!!!!!!!!!!!


14-2372
_none_
2004-01-06 16:02
2004.02.02
Почему школьникам и студентам до сих пор преподают pascal 6,7?


14-2363
Kerk
2004-01-08 12:01
2004.02.02
Одна знакомая девушка...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский