Работа със снимки

Работа със снимки * .jpg в Делфи / MS SQL

Инсталиране на компонента за работа с DBJPEGImage на Jpeg-файлове. Опитвам се да качвате снимки с базата данни (MS SQL 7.0), но нищо не се случва. метод LoadFromFile ги получава от файл, но не може да спаси (поле тип изображение). А DBLoadFromFile, въпреки че той е написал в компонентите на Readme, дори и снимките не се зареждат.
Помощниците помагат да оправи проблема. Или посъветва където можете да прочетете за това.

Това съм аз, също по някакъв форум са открили, аз донесе никаква промяна. Той трябва да работи.

Var Bm: TMemoryStream;
Жп: TJpegImage;
започвам
Table1.Edit;
Jp: = TJpegImage.Create;
Jp.Assign (Image1.Picture.Bitmap); // поставя изображението в TJpegImage клас;
Bm: = TMemoryStream.Create;
Jp.SaveToStream (ВМ); // Save Jpeg в потока
Bm.Seek (0,0);
Dm.Table1PHOTO.LoadFromStream (ВМ); // Load Jpeg в областта целия поток
Bm.Free;
Jp.Free;
Table1.Post;
приключи;

Как качването? Което за бази данни се използва (в BDE, има някои проблеми, свързани с добива на изображения от базата данни)?

Аз направих през съхранени процедури. Т.е. има, например, такава процедура:

създадете ПРОЦЕДУРА dbo.spIMG_Add
@img_Data изображение,
@img_id вътр изход
AS
започвам
вмъкнете в dbo.Images (img_Data)
# 032; стойности (@img_Data)
изберете @img_id = @@ идентичност
край

Следващата процедура "избутва" изображението в базата данни. Тук, за достъп до данните, използвани SDAC. Мисля, че това е пренаписан за друг проблем на двигателя няма да бъде.


процедура TForm1.Button1Click (Sender: TObject);
започвам
# 032; ако OpenPictureDialog.Execute след това
# 032; започне
# 032; # 032; с spIMG_Add правя
# 032; # 032; започне
# 032; # 032; # 032; ParamByName ( "img_Data") .LoadFromFile (OpenPictureDialog.FileName, ftBlob);
# 032; # 032; # 032; Connection.StartTransaction;
# 032; # 032; # 032; опитате
# 032; # 032; # 032; # 032; ExecProc;
# 032; # 032; # 032; # 032; connection.Commit;
# 032; # 032; # 032, с изключение
# 032; # 032; # 032; # 032; connection.Rollback;
# 032; # 032; # 032; край;
# 032; # 032; край;
# 032; край;
приключи;

Благодаря ви, приятели!
Изглежда, че отлежава друг проблем: как да се показва изображението от базата данни. Провери масата - нещо, в областта се запазва (получен по метода предложен Лола, за HP Вук просто не се получи, но опитайте по-късно се изисква), а дори и че е необходимо. Но от компонент под формата на нищо. Опитах TDBJPEGImage.LoadImage, също е предложено в компонентите на Readme - това vvobsche програма млъква. Обяснете невежи, защо и как да го направя, нали?

Били ли сте погледна дали в областта точно нормална картина?

Ако можете да видите картинката в областта на таблицата в MS SQL, аз за съжаление не знам как. Току-що разбрах, че има нещо написано от дължината на полето.

Не мисля, че това е толкова труден въпрос за майсторите, или на всички майстори, които вече са във ваканция, почивка от хора като мен.
Така че, в област, която маса (?) Се поддържа (това може да се види по дължината на полето). Но защо трябва да се получи в съответната форма?

Вземи в DBMultiFmtImage на килера и не забравяйте да добавите използва JPEG.

да Active
След като инсталирате DBMultiFmtImage да формират в Делфи ми с моя проект при стартиране веднага се срива, без никакви съобщения. Аз трябваше да се оттегли.

За съжаление, аз съм зает. Опитайте това.

Bm: = Table1.CreateBlobStream (Table1.FieldByName ( "Фото"), bmRead);
Jp: = TJpegimage.Create;
Jp.LoadFromStream (ВМ);
Image1.Picture.Assign (JP);
Bm.Free;
Jp.Free;

Ако това не стане, погледнете в "Кралство Делфи". Те обичат много спорен по това време.

Лола, благодаря ви много!
По принцип, за да работят, но с някои проблеми - след изтеглянето на изображенията, за да образуват набор от брави и навигация на него не е възможно, докато не се Отказ. Надявам се, че с течение на времето и да го разбера.
Сега ще се копае, че всичко това може да се изпрати към принтера. (Доклад не съм имам в проекта).
В общи линии, а след това, че би било хубаво да се организира някъде на сайта, може би в един килер, една секция, където нагънатата готов на специални работни разтвори на някои сравнително сложни въпроси (като тази). Най-често задаваните въпроси е просто оскубани въпроси с едни и същи отговори, често далеч от бетон. След това тя ще бъде по-лесно за начинаещи, за да овладеят този въпрос, и повтарящи се, понякога не съвсем правилни въпроси с още по-неправилно отговори в конференцията ще стават по-малки.
Още веднъж, благодаря на всички ви много!

Здравейте на всички. Всъщност, къде да получи DBJPEGImage?

Памет: 0.74 MB
Време: 0,071 гр