Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Query -> Blob   Найти похожие ветки 

 
fess ©   (2005-01-30 21:51) [0]

Здравствуйте мастера!!
Записываю в блоб поле через поток рисунок, но 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 ... ОШИБКА!
Помогите!!! Я уже замучился!


 
Anatoly Podgoretsky ©   (2005-01-30 21:57) [1]

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


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

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


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

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

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 22:17) [4]

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


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

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


 
sniknik ©   (2005-01-30 23:01) [6]

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

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

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


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


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

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



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1107745364
Думкин
2005-02-07 06:02
2005.02.27
С Днем рождения! 7 февраля


4-1104927780
Sphinx
2005-01-05 15:23
2005.02.27
Макет TAppAPI


1-1108128503
Джинн
2005-02-11 16:28
2005.02.27
Поведение Debuger а


1-1108282334
Bogdan
2005-02-13 11:12
2005.02.27
Исчезающая форма


3-1106901753
denis24
2005-01-28 11:42
2005.02.27
добавление записи в основную и связаные таблицы