Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c