Главная страница
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.027 c
3-1106819321
DSKalugin
2005-01-27 12:48
2005.02.27
Принцыпы трехзвенной архитектуры


1-1107948544
Polad
2005-02-09 14:29
2005.02.27
Шифрование логина и пароля


6-1103478790
riant
2004-12-19 20:53
2005.02.27
File & WebBrowser


3-1107180484
YK
2005-01-31 17:08
2005.02.27
проблемы с DBNavigator


3-1106752898
midavik
2005-01-26 18:21
2005.02.27
Подскажите функцию