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

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

как засунуть данные в блоб-поле запросом?


Asderg ©   (2002-11-19 09:23:00) 

создаю запрос TQuery с параметрами.

заполняю тип параметра.

Query2->ParamByName("param")->DataType = ftBlob;
Query2->ParamByName("param")->ParamType = ptInput;


делаю

// str - TMemoryStream* , загруженный данными
Query2->ParamByName("param")->LoadFromStream(str, ftBlob);
//try
Query2->ExecSQL();
//catch(...)


в итоге в базу нифига не пишется. 8( что не так? помогите...


Asderg   (2002-11-19 09:47:00) [1]

нашел косяк. 8)
при запросе INSERT обязательно нужно указать список полей, потом VALUES(:param), т.е.

INSERT INTO ttt (field1, field2) VALUES (:param1, :param2)

тогда и SetBlobData и LoadFromStream работают, иначе

INSERT INTO ttt VALUES (:param1, :param2)

не работает ... 8(


KoluChi   (2002-11-19 09:34:00) [2]

Можно попробовать:
str.Position := 0;


Asderg   (2002-11-19 09:31:00) [3]

да, пишу в парадоксовые таблицы...
пробовал и вариант

AnsiString s="Hello, world! :(";
Query2->ParamByName("param1")->SetBlobData(s.c_str(), s.Length());


Наверх

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