Главная страница
    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.007 c
14-25056
AL2002
2002-12-20 16:57
2003.01.09
Что делает файл Alevir.exe?


3-24806
al_bee
2002-12-15 17:33
2003.01.09
Помогите разобраться


1-24859
ual
2002-12-27 13:12
2003.01.09
Quick report - Access Violation xxxxxxxxx:xxxxx


1-24886
sad
2002-12-25 15:38
2003.01.09
TeeChart и коэффициенты


1-24959
Дурак2
2002-12-26 07:33
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский