Главная страница
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.031 c
4-1106002721
ev
2005-01-18 01:58
2005.02.27
как сделать логический диск?


1-1107949648
Gost
2005-02-09 14:47
2005.02.27
Как вынуть названия полей таблицы и запихнуть их в ComboBox?


14-1107873488
syte_ser78
2005-02-08 17:38
2005.02.27
Экзаменационные билеты.


6-1103455963
Delpher_Gray
2004-12-19 14:32
2005.02.27
InternetOpenURL - результат получилось или облом ?


14-1107467635
Гость
2005-02-04 00:53
2005.02.27
Чем чистить линзу на сидюке