Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-24885
Alexander Vasjuk
2002-12-24 18:02
2003.01.09
RichEdit в ActiveX


3-24801
Kaginava
2002-12-16 11:32
2003.01.09
FastReport


8-24980
IgorZu
2002-09-19 14:48
2003.01.09
Работа с MP3


14-25009
MegaVolt
2002-12-09 16:45
2003.01.09
---|Ветка была без названия|---


7-25099
DDDeN
2002-10-28 18:07
2003.01.09
Звуковая карта и прога





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский