![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 вроде резервированое имя