Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
14-25021
Julka
2002-12-18 23:56
2003.01.09
Подскажите, мастера, девушке...


1-24890
PTYU
2002-12-25 13:31
2003.01.09
А как обработать колёсико у мыши ? (+)


3-24780
EternalWonderer
2002-11-29 13:09
2003.01.09
Parse to Execute Ratio = 101


14-25098
Igor_thief
2002-12-22 12:20
2003.01.09
Защитные очки


1-24885
Alexander Vasjuk
2002-12-24 18:02
2003.01.09
RichEdit в ActiveX




   Наверх