Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кто нибудь знает как в БД Access запихивать TStream? [D7, MSAccess]


qazwsx ©   (2006-08-24 12:05:00) 

Я пытаюсь сделать вот что то типа этого (Fields[2] - поле объекта(OLE Object))
Запихиваю:
TStream *Stream;
Stream = MainForm->ADODataSet1->CreateBlobStream(MainForm->ADODataSet1->Fields->Fields[2], bmWrite);
// Пишем в Stream что нибудь ...
MainForm->ADODataSet1->Post();
Высовываю:
TStream *Stream;
Stream = MainForm->ADODataSet1->CreateBlobStream(MainForm->ADODataSet1->Fields->Fields[2], bmRead);
// Читаем из Stream что нибудь ...

Только это нихрена не работает :(

Единственное что получается это:
// Загрузка Bitmap в БД
MainForm->ADODataSet1->Edit();
MainForm->ADODataSet1->Fields->Fields[2]->Assign(Image1->Picture->Bitmap);
MainForm->ADODataSet1->Post();
// Получение Bitmap из БД
bmp->Assign(MainForm->ADODataSet1->Fields->Fields[2]);

Может кто знает как в БД запихать TStream или что нибудь в этом роде?
В идеале будет, если через ADOCommand ;) Что то типа:
MainForm->ADOCommand1->Parameters->Items[0]->LoadFromFile("D:\\bmp.bmp",MainForm->ADODataSet1->Fields->Fields[2]->DataType);
MainForm->ADOCommand1->CommandText = "INSERT INTO table (id, name, binary) VALUES(2, \"test\", :test);";
MainForm->ADOCommand1->Execute();
// это тоже не работает, пишет что VALUES'ов мало :(

И еще вот нашел в hlp'е что то про TADOBlobStream но все эксперименты провалились.
MainForm->ADODataSet1->Edit();
TADOBlobStream *Stream = new TADOBlobStream((TBlobField*)MainForm->ADODataSet1->Fields->Fields[2],bmReadWrite);
AnsiString str = "ЖОПА";
Stream->Write(str.c_str(),str.Length());
MainForm->ADODataSet1->Post();
Может кто разберется?

ЗЫ Пару месяцев назад перешел с Pascal на С++ так что примеры пойму на обоих ;) а здесь пишу потомучто раньше это всегда помогало...
Заранее спасибо за ответы


qazwsx   (2006-08-24 12:25:00) [1]

2 sniknik
Пиши по делу, или вообще не пиши


sniknik   (2006-08-24 12:12:00) [2]

тебе списком или пофамильно нужно "тех кто знает" ???

как вопрос заголовка согласуется с содержимым? оффтопик?


Наверх

Титульная страница Поиск, карта сайта Написать письмо