imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 18.03.2003, 15:55     # 1
ReapeR
Advanced Member
 
Аватар для ReapeR
 
Регистрация: 08.08.2002
Адрес: Nab. Chelny, Tatarstan
Сообщения: 447

ReapeR МолодецReapeR МолодецReapeR Молодец
Заполнение Blob поля из Массива (Delphi)

Например у меня какой либо динамический массив. Как полностью его загнать в базу данных. Желательно с примером.
__________________
-=Nomen est Omen=-
ReapeR вне форума  
Старый 31.03.2003, 13:59     # 2
Artyom
Guest
 
Сообщения: n/a

Используй потоки: читай в Delphi help
набери TBLOBField.LoadFromStream
 
Старый 31.03.2003, 15:14     # 3
ReapeR
Advanced Member
 
Аватар для ReapeR
 
Регистрация: 08.08.2002
Адрес: Nab. Chelny, Tatarstan
Сообщения: 447

ReapeR МолодецReapeR МолодецReapeR Молодец
Artyom
а примерчика нет? В хелпе я и сам нашел, но почему то он писать не хочет в блоб
__________________
-=Nomen est Omen=-
ReapeR вне форума  
Старый 13.10.2004, 21:16     # 4
OneHero
Banned
 
Аватар для OneHero
 
Регистрация: 11.07.2002
Адрес: RU
Сообщения: 89

OneHero Путь к славе только начался
Цитата:
Сообщение от ReapeR
а примерчика нет? В хелпе я и сам нашел, но почему то он писать не хочет в блоб
Ну, да, через потоки не получается. Но ошибки не выдает.
Пытаюсь запостить доковские файлы или pdf - без разницы. Не копирует из потока в поток (TFileStream --> TBLOBSTREAM). Возможно, что-то копирует, т.к. увеличивается размер базы - на несколько байтов для каждой попытки записи.
При попытке выгрузить записанное TBLOBSTREAM --> TFileStream и в файл => создается пустой файл с указанным именем.

Может кто-нибудь что-нибудь дельное подсказать?
OneHero вне форума  
Старый 14.10.2004, 09:56     # 5
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
OneHero
Напиши процедурку, в которой у тебя баги, давай вместе разбираться... Особенно то место в котором ты КОПИРУЕШЬ из потока в поток
/7y3uK вне форума  
Старый 14.10.2004, 11:00     # 6
dyr_farot
Advanced Member
 
Регистрация: 23.08.2003
Сообщения: 442

dyr_farot Нимб уже пробиваетсяdyr_farot Нимб уже пробивается
делаю так:
( 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(&parameters, sizeof(parameters));

        sql->Params->ParamByName("RESULT")->LoadFromStream(stream.get(), ftBlob);

        sql->ExecSQL();
хоть и Builder, но логика, думаю, понятна

parameters -- структура, но с массивом все полностью аналогично

P.S.
код свой, действительно, лучше приведи
dyr_farot вне форума  
Старый 14.10.2004, 12:39     # 7
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Хе, после поиска в инете нашел таки Кажись вся фенька в том, что ты поток обычный создаешь, а надо БЛОБ, т.к. по определнию BLOB:большой двоичный объект (данных), "блоб". Соответственно в дельфе нужно открывать поток типа TBlobStream. Вот ссылка на пример:
_http://www.codenet.ru/progr/delphi/db_028.php
/7y3uK вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 10:55.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.