Форум: "Базы";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c