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

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

Query -> Blob [D6, Access]


fess ©   (2005-01-30 21:51:00) 

Здравствуйте мастера!!
Записываю в блоб поле через поток рисунок, но delphi выдает ошибку ;(...
Код следующий:

Bitmap := TMemoryStream.Create;
Image1.Picture.Bitmap.SaveToStream(Bitmap);
dm.ADOQueryBlob.Active:=false;
dm.ADOQueryBlob.SQL.Clear;
dm.ADOQueryBlob.SQL.Add('INSERT INTO Answer (Image) VALUES (:Blob) WHERE Id_Answer = '+IntToStr(Id_Answer));
dm.ADOQueryBlob.Parameters.ParamByName('Blob').LoadFromStream(Bitmap, ftBlob);
dm.ADOQueryBlob.ExecSQL;
Bitmap.Free;

Выдает ошибку типа В инструкции Insert into ... ОШИБКА!
Помогите!!! Я уже замучился!


Соловьев   (2005-01-31 11:06:00) [1]


> dm.ADOQueryBlob.SQL.Add('UPDATE Answer SET [Image]=:Blob
> WHERE Id_Answer = '+IntToStr(Id_Answer));

:)
А почему одно через параметр, другое через соединение строк? Уж если так пошла жара, можно и болб поле в строку перегнать и строить запрос через конкатенацию строк :)


sniknik   (2005-01-30 23:01:00) [2]

> Кто-нибудь видит в этом коде ошибку?!
кроме тех которые уже озвучили? (в [1] и [2]) исправлена только одна.

dm.ADOQueryBlob.SQL.Add('UPDATE Answer SET [Image]=:Blob WHERE Id_Answer = '+IntToStr(Id_Answer));

а вот параметр может иметь имя и из зарезервированных... (вроде бы, проверять не буду. хотя и не хорошо это...)


fess   (2005-01-30 22:22:00) [3]

Пишет ошибка синтаксиса в инструкции UpDATE!
Даже если я называю параметр blobikб то все равно возникает вышеназванная ошибка!
Она меня уже достала!
Меня Query всем устраивает кроме невозможности с помощью него записывать данные в BLOB поля!
По крайней мере у меня ничего не получается!
Кто-нибудь видит в этом коде ошибку?!


Sergey_Masloff   (2005-01-30 22:17:00) [4]

fess ©   (30.01.05 22:07) [3]
Ну уж BLOB 100% зарезервированное слово


fess   (2005-01-30 22:07:00) [5]

Пардон... ;( Совсем заработался.. Я исправил и выдает все тоже самое!

dm.ADOQueryBlob.Active:=false;
dm.ADOQueryBlob.SQL.Clear;
dm.ADOQueryBlob.SQL.Add('UPDATE Answer SET Image=:Blob WHERE Id_Answer = '+IntToStr(Id_Answer));
dm.ADOQueryBlob.Parameters.ParamByName('Blob').LoadFromStream(Bitmap, ftBlob);
dm.ADOQueryBlob.ExecSQL;

Image - не зарезервированное слово, т.к. с Table работает!


Sergey_Masloff   (2005-01-30 21:59:00) [6]

Anatoly Podgoretsky ©   (30.01.05 21:57) [1]
Да там все неправильно же ж. В INSERT INTO... Values() никакого WHERE быть не может ;-)


Anatoly Podgoretsky   (2005-01-30 21:57:00) [7]

Image вроде резервированое имя


Наверх

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