| imho.ws |
![]() |
|
|
|
# 4 | |
|
Banned
Регистрация: 11.07.2002
Адрес: RU
Сообщения: 89
![]() |
Цитата:
Пытаюсь запостить доковские файлы или pdf - без разницы. Не копирует из потока в поток (TFileStream --> TBLOBSTREAM). Возможно, что-то копирует, т.к. увеличивается размер базы - на несколько байтов для каждой попытки записи. При попытке выгрузить записанное TBLOBSTREAM --> TFileStream и в файл => создается пустой файл с указанным именем. Может кто-нибудь что-нибудь дельное подсказать? |
|
|
|
|
|
# 6 |
|
Advanced Member
Регистрация: 23.08.2003
Сообщения: 442
![]() ![]() |
делаю так:
( IB ) Код:
std::auto_ptr<TIBQuery> sql(new TIBQuery(this));
sql->Database = dmMain->dbMain;
sql->SQL->Text = "update SELECTIONS set RESULT = :RESULT where ID = " + IntToStr(FId);
sql->Transaction = dmMain->trMain;
std::auto_ptr<TStream> stream(new TMemoryStream());
stream->Write(¶meters, sizeof(parameters));
sql->Params->ParamByName("RESULT")->LoadFromStream(stream.get(), ftBlob);
sql->ExecSQL();
parameters -- структура, но с массивом все полностью аналогично P.S. код свой, действительно, лучше приведи |
|
|
|
|
# 7 |
|
Advanced Member
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498
![]() ![]() ![]() ![]() |
Хе, после поиска в инете нашел таки
Кажись вся фенька в том, что ты поток обычный создаешь, а надо БЛОБ, т.к. по определнию BLOB:большой двоичный объект (данных), "блоб". Соответственно в дельфе нужно открывать поток типа TBlobStream. Вот ссылка на пример:_http://www.codenet.ru/progr/delphi/db_028.php |
|
|