Работа с ADO в Delphi

В тази статия бих искал да ви кажа как можете да използвате данни в полетаBlob във вашите приложения за бази данни. С тази статия бих искал да завърша нашия разказ за технологиятаADO вDelphi за база данниMS Access. Нека отидем по-далеч и да разгледаме други бази данни, а не много други технологии. Така че използването наBlob -полета е много полезно, необходимият файл не се губи никъде, но размерът на нашата база данни нараства много от тях. Но това няма значение, тъй като е по-добре размерът на базата данни да расте, отколкото размерът на програмата и дори с възможността файловете да бъдат загубени, говоря за факта, че ако съхраняваме файловете в някаква папка с програмата.

Е, да започваме. Първо създайте база данни вMS Access и някаква таблица, като таблицата трябва да има поле с тип данни - полеOLE -обект. Това поле ще съхранява нашите файлове и точно снимките. Ще пишем и ще четем снимки.

Както винаги, нека се свържем с нашата база данни. След това наOnCreate на нашия формуляр активираме нашия компонент за заявки

Не забравяйте да поставите компонентаTImage в нашия формуляр "put ", където ще се показват нашите изображения иTOpenDialog.

За да запишете нашата снимка на събитието на бутона - OnClick, напишете следното

Какво може да бъде неразбираемо тук, тук имаме променлива памет, в която зареждаме нашето изображение и след това, когато е създадено, го записваме в базата данни, като посочим идентификатораbmWrite и трябва да направим преобразуване на типаTBlobField, тоест посочваме, че това е точно поле с нашите двоични данни. Изглежда, че записът е минал без грешки и ако отворите нашата база данни, можете да видите, че в полето, където сме запазили снимката, пише това - Binary data. Това означава, че има нещоИма. След това трябва да прочетем информация от базата данни. За да направите това, на друг бутон за събитиеOnClick пишем

Тук имам кактоTBitmap, така иTJpegImage, защото не знам какъв формат ще запише потребителят на изображението в базата данни. За целта е необходимо да създадете ново поле в базата данни, където ще се съхранява нашият формат на данните, и когато пишете картина, запишете разширението на нашата картина в това поле, а когато четете, проверете формата и в зависимост от него създайте една или друга променлива. В случая и с този пробвах и с този и с този успях. Ако използватеTJpegImage, тогава трябва да свържете модулаjpeg в Използване - за да работите сjpg -изображения. Можете също да видите тук, че посочвам първия запис в базата данни сПърви. Да, ние просто записваме и така или иначе ще има нещо в първия запис, така че не съм измислил нищо, хвърлям решетка във формуляра и получавам снимки от избрания ред, получавам през цялото време от първия ред и зависи от вас да се подобрите. Тук също има променлива памет, в която четем данни, като посочим идентификатораbmRead, което означава, че четем данни. След това зареждаме тази променлива в променливата на изображението и след това вTImage. Както можете да видите, няма нищо сложно.

С тази статия бих искал да обобщя работата с технологиятаAdo вDelphi в база данниMS Access. След това ще разгледаме как да работим с технологиятаAdo, използвайки напримерMS Excel като наша база данни.

Ще разгледаме как да записваме снимки в базата данни по друг начин, но тук технологиятаADO няма нищо общо с това. По този начин можете да записвате снимки във всяка база данни, дори не да ги записвате, но формално да ги съхранявате там.