Форум: "Базы";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];
ВнизСохранение BLOB в таблицу Найти похожие ветки
← →
TRESDA (2006-12-13 13:11) [0]Мир Вам великие Мастера!!
Такая проблема возникла при передачи при помощи SQL-запроса картинки загруженной в DBImage1 в таблицу.
Делаю всё при помощи следующего запроса:
with form1.ADOQuery1 do
begin
SQL.add("insert into house (image) ");
sql.add(" values (:image)");
parameters.ParamValues["image"].LoadFromFile(OpenPictureDialog1.FileName);
execsql;
Однако при отработке запроса вылетает сообщение:
"Invalid variant operation"
Грабли в принципе понятно в чем, но как с ними справиться.
Заранее Большое спасибо за оказанную помощь, действительно ОЧЕНЬ нужно сделать
← →
TRESDA (2006-12-14 06:55) [1]Пробую еще делать так, на первой кнопке загружаю картинку в DBImage, а во второй отправляю с DBIMAGE в таблицу house.
Процедура первой кнопки:
Var B: TBitmap;
begin
if messagedlg("Добавить изображение?", mtwarning, [mbYes, mbNo],0)=mrNo
then
exit
else
dbimage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
try
if OpenPictureDialog1.Execute then
begin
B := TBitmap.Create;
B.LoadFromFile(OpenPictureDialog1.FileName);
DBImage1.Picture.Assign(B);
end
else
exit;
finally
B.Free;
Процедура второй кнопки:
with form1.ADOQuery1 do
begin
sql.clear;
SQL.add("insert into house (image) ");
sql.add(" values (:image)");
parameters.ParamValues["image"]:=B;
execsql;
Вываливает ошибка:
"Variant" and "TBitmap"
Однако здесь он от меня ждёт опять Variant, а я ему TBitmap даю.
Блин что делать? У кого может другие вариант есть??? ГОРЮ!!!
← →
ЮЮ © (2006-12-14 07:11) [2]
> Однако здесь он от меня ждёт опять Variant, а я ему TBitmap
> даю.
Самый лучший variant тут, ИМХО, varString. А вот каким образом ты устаноаишь длину строки и заполнишь её байтами - куча способов.
← →
Tresda (2006-12-14 07:45) [3]select * from dbo.TableImage
insert into TableImage(MyImage) values ("c:\11.bmp")
Сработало. Но в поле запись такого типа
MyImage 0x633A5C31312E626D70
как посмотреть не знаю.
Попробую большую и с расширением другим.
insert into TableImage(MyImage) values ("c:\06_podborka_8.jpg")
Тоже срабатывает .
0x633A5C30365F706F64626F726B615F382E6A7067
← →
ЮЮ © (2006-12-14 08:47) [4]values ("c:\11.bmp")
Издеваешься? :) Именно "c:\11.bmp" там и записано. Надо задать переменной типа стринд лдлину равную длине файла и поместить в ней СОЖЕРЖИМОЕ файла, с помощью FileStream, например, или FileRead. Ты же поместил ИМЯ ФАЙЛА
← →
clickmaker © (2006-12-14 10:13) [5]parameters.items[index].DataType := ftBlob;
parameters.items[index].LoadFromFile(fileName, ftBlob);
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c