Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2009, 06:14   #1
hoba
Пользователь
 
Регистрация: 23.08.2008
Сообщений: 40
По умолчанию Сохранять изображения и файлы в базу данных Paradox

Доброго времени суток. Учусь писать СУБД. Сейчас пишу программу по учету студентов. Понадобилось сохранять их изображения. Не могу понять как это делать. Находил информацию про использование BLOB полей но ничего не понял. Не поможет ли кто мне примером или достойной информацией.
hoba вне форума Ответить с цитированием
Старый 06.10.2009, 09:02   #2
Speeker
Форумчанин
 
Аватар для Speeker
 
Регистрация: 01.12.2006
Сообщений: 241
По умолчанию

я тоже с этим не разобрался, я просто написал програмку которая копировала фото в спец. папку програмы а в текстовом поле указывал только путь к ней с привязкой к учетной записи.
Програмисты - единственные люди, которым платят за исправления их же ошибок
Speeker вне форума Ответить с цитированием
Старый 06.10.2009, 09:22   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Весьма достойны следующие ссылки:

http://www.delphiworld.narod.ru/base...lob_field.html
http://www.delphiworld.narod.ru/base...ke_bitmap.html
http://www.delphiworld.narod.ru/base...from_blob.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.10.2009, 09:58   #4
hoba
Пользователь
 
Регистрация: 23.08.2008
Сообщений: 40
По умолчанию

Цитата:
Сообщение от Speeker Посмотреть сообщение
я тоже с этим не разобрался, я просто написал програмку которая копировала фото в спец. папку програмы а в текстовом поле указывал только путь к ней с привязкой к учетной записи.
Я же написал что учусь писать а не выполняю чей то заказ, когда без разницы как сделано.
За ссылки спасибо, но я это уже читал и что не очень понял где осуществляется в листингах загрузка рисунка в базу. И еще вопрос один встал какой тип поля соответсвует BLOB в парадоксе. Т.е. что нужно выбирать в типе поля когда сождаешь таблицу.
hoba вне форума Ответить с цитированием
Старый 06.10.2009, 10:01   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
какой тип поля соответсвует BLOB в парадоксе
Чесно говоря я не спец по парадоксам, но помоему тип МЕМО
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.10.2009, 11:25   #6
hoba
Пользователь
 
Регистрация: 23.08.2008
Сообщений: 40
По умолчанию

Что то я не понял из тех статей где они берут этот компонент TBlobField. Попробовал в наглую создать. Подключил модуль DB написал следующее:

Цитата:
blob:=TBlobField.Create(nil);
if OpenDialog1.Execute then
blob.LoadFromFile(OpenDialog1.FileN ame);
with DataModule2.Base do begin
Insert;
FieldByName('blob').Assign(blob);
end;
Возникает ошибка:
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 0047A09E in module 'Project1.exe'. Read of address 00000000'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
Не знаю что делать, поскажите ктонибудь.
hoba вне форума Ответить с цитированием
Старый 06.10.2009, 11:40   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Возникает ошибка:
Полностью код в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.10.2009, 12:52   #8
hoba
Пользователь
 
Регистрация: 23.08.2008
Сообщений: 40
По умолчанию

Там впринципе ничего больше интресного. Вот:
Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Unit2,
DB, //вот эту вещь подключил
Grids, DBGrids;

type
TForm1 = class(TForm)
Button1: TButton;
BtOpen: TButton;
BtClose: TButton;
OpenDialog1: TOpenDialog;
DBGrid1: TDBGrid;
procedure BtOpenClick(Sender: TObject);
procedure BtCloseClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BtOpenClick(Sender: TObject);
begin
DataModule2.Base.Open; //открыть базу
end;

procedure TForm1.BtCloseClick(Sender: TObject);
begin
DataModule2.Base.Open; //закрыть базу
end;

procedure TForm1.Button1Click(Sender: TObject);
var
blob : TBlobField;

begin

blob:=TBlobField.Create(nil);
if OpenDialog1.Execute then
blob.LoadFromFile(OpenDialog1.FileN ame);
with DataModule2.Base do begin
Insert;
FieldByName('blob').Assign(blob);
end;

end;

end.
База хранится файлом, путь прописан в компоненте TTable. Открывается и закрывается без ошибок.

Последний раз редактировалось Stilet; 06.10.2009 в 13:15.
hoba вне форума Ответить с цитированием
Старый 06.10.2009, 13:15   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
(DataModule2.Base.table1.fieldbyname('blob') as TBlobField).loadfromfile('c:\file.jpg');
Не возился давно с блобами. попробуй и так еще.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.10.2009, 13:22   #10
hoba
Пользователь
 
Регистрация: 23.08.2008
Сообщений: 40
По умолчанию

Так не получается, хотя бы из за синтаксиса. Но идею понимаю и уже пробовал. Увы. Главное что он выдает ошибку еще при попытки загрузить файл в blob переменую. Думаю дело в том что я его не правильно создал
blob:=TBlobField.Create(nil);
Аргумент думается другой.

Точно, проблема стоит еще ранее с созданием объекта Blob.

Последний раз редактировалось Stilet; 06.10.2009 в 14:07.
hoba вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сохранять изображения из разных вкладок? blackstersl Мультимедиа в Delphi 4 27.07.2009 13:02
Работа Delphi7 с базой данных paradox valetip БД в Delphi 2 15.05.2009 17:47
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" ruelCrow Общие вопросы .NET 3 10.07.2008 23:29
проблема внедрения в базу paradox файлов word и jpg ghost_7_7_7 БД в Delphi 1 30.01.2008 16:44
Работа баз данных Paradox в сетке Killer_djon БД в Delphi 2 20.12.2007 20:24