Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
11-1150407283
parovoZZ
2006-06-16 01:34
2007.03.11
Demo2Forms - не понял юмора


5-1148542504
DimaBr
2006-05-25 11:35
2007.03.11
Сериализация дочернего


6-1159950477
POINT
2006-10-04 12:27
2007.03.11
webbrowser


1-1168958640
alexey_public
2007-01-16 17:44
2007.03.11
Расширенные возможности MessageDlg


2-1171814200
Аликъ
2007-02-18 18:56
2007.03.11
Listview удаление НЕвыделенных строк





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский