Вопрос № 64150: Уважаемые эксперты!!! Мой вопрос видимо не прошел, задам его еще раз.
Нужно написать простенькую базу, в которой будет одно поле типа string и 10 полей с картинками ну и счетчик понятно, в связи с этим есть вопросы:
1. Что лучше использовать ...
Вопрос № 64.150
Уважаемые эксперты!!! Мой вопрос видимо не прошел, задам его еще раз.
Нужно написать простенькую базу, в которой будет одно поле типа string и 10 полей с картинками ну и счетчик понятно, в связи с этим есть вопросы:
1. Что лучше использовать Access или Paradox?
2. Есть ли ограничение на размер графического поля в этих настольных бд?
3. Как загнать картинку в поле бд?
Отвечает: sir henry
Здравствуйте, Александр Борисович!
1. ИМХО, наверное лучше Access. На Paradox слишком часто жалуются за "парадоксальное" поведение. :) Хотя при прочих равных условиях скорость доступа к данным для формата Paradox может быть выше, но для Access, в отличие от Paradox, есть несколько альтернативных способов доступа к данным - BDE, ADO, ODBC ...
2. Теоретически размер ограничен размером файла для Вашей файловой системы, с учетом что в том-же файле еще должна быть и какая-то служебная информация.
3. Есть несколько способов. Самый простой - загрузить из файла:
(Table1.FieldByName('BlobField') as TBlobField).LoadFromFile('Название_картинки.bmp');
Можно загрузить из потока (LoadFromStream()).
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 25.11.2006, 20:21 Оценка за ответ: 5
Отвечает: Tresda
Здравствуйте, Александр Борисович!
Я загоняю картинку в поле бд так:
.......................
var B: TBitmap;
begin
........................
B := TBitmap.Create;
try
B.LoadFromFile(openpicturedialog1.FileName);
form1.ADOQuery1.Edit;
form1.DBImage1.Picture.Assign(B);
finally
B.Free;
form1.ADOQuery1.Post;
end;
except
on EO: EDatabaseError do messagedlg(' EDatabaseError!!!', mterror,[mbOk],0);
on EO: EDBEngineError do messagedlg(' EDBEngineError!!!', mterror,[mbOk],0);
end;
Ответ отправил: Tresda (статус: 1-ый класс)
Ответ отправлен: 28.11.2006, 13:24 Оценка за ответ: 4