Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.09;
Скачать: CL | DM;

Вниз

Delphi + TImage и MSSQL + image   Найти похожие ветки 

 
Денис   (2002-12-15 18:54) [0]

Задолбался искать, подскажите, плиз. Ситуация: есть компонент TImage, в нем изображение. Хочу его записать в табличку посредством хранимой процедуры, представленной как TADOStoredProc. Напишите, как это должно выглядеть. Я так понимаю, это будет что-то вроде:

ADOStoredProc1.Parameters.ParamByName("@photo")... := ???

Как из TImage вытащить изображение? Всем спасибо, кто откликнулся...


 
asmith   (2002-12-15 19:56) [1]

"All data types, including text, ntext and image, can be used as a parameter for a stored procedure" - это из SQL SERVER BOL. Так что хранимой процедурой не получится.


 
Набережных С.   (2002-12-15 22:10) [2]

Попробуй, может прокатит(я не проверял)

var
Stream: TMemoryStream;
V: Variant;
P:PByte;
begin
Stream:=TMemoryStream.Create;
Image1.Picture.Bitmap.SaveToStream(Stream);
Stream.Position:=0;
V:=VarArrayCreate([1,Stream.Size],varByte);
P:=VarArrayLock(V);
Stream.Read(P^,Stream.Size);
VarArrayUnlock(V);
ADOStoredProc1.Parameters.ParamByName("@photo").Value:=V;
ADOStoredProc1.ExecProc;
Stream.Free;
end;


 
Денис   (2002-12-16 10:53) [3]

Спасибо. Думал, смогу легко сделать обратное преобразование, да не тут-то было. Не подскажете, как из базы на этот же TImage картинку вывести? :)

Стыдно, конечно, но не получается...


 
Денис   (2002-12-16 14:21) [4]

asmith-у: наоборот, получится :) Уже получилось! Там не can"t be used, там же can! Теперь бы вот вытащить ее оттуда и отобразить...

Надеюсь на ответ Набережных С. или любого другого, кто может помочь. Спасибо!


 
Набережных С.   (2002-12-16 19:45) [5]

Обратно - в обратном порядке:) Примерно так:

var
Stream: TMemoryStream;
begin
ADOQuery1.Open;
Stream:=TMemoryStream.Create;
TBlobField(ADOQuery1.Fields[0]).SaveToStream(Stream);
ADOQuery1.Close;
Stream.Position:=0;
Image1.Picture.Bitmap.LoadFromStream(Stream);
Stream.Free;
end;

P.S. try-finally расставь.


 
Денис   (2002-12-16 22:04) [6]

Утром попробую... Спасибо большое!



Страницы: 1 вся ветка

Текущий архив: 2003.01.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
14-25048
Marcus
2002-12-18 13:11
2003.01.09
Неустойчивая работа DCOM-клиентов (Delphi 5, MIDAS) в Windows 98


14-25042
hatchy
2002-12-20 11:41
2003.01.09
button! button! button! button! button!


14-25039
JurMax
2002-12-18 22:29
2003.01.09
Компонент типа DateTimePicker для БД


3-24777
diww
2002-12-16 12:04
2003.01.09
как сделать запрос?


7-25108
AddMean
2002-09-14 00:20
2003.01.09
Как работать c FAT