Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.18;
Скачать: CL | DM;

Вниз

Помогите разобрться с запихиванием jpg в базу???   Найти похожие ветки 

 
DBDev   (2003-08-27 10:05) [0]

Надо подгрузить файл JPG и запихать его в поле базы типа image. Использую TDBImage и ТOpenPictureDialog.


//-------------------------------------------------------------------- -------
if (!OpenPictureDialog->Execute()) return;

int f = open((OpenPictureDialog->FileName).c_str(), O_CREAT);
int bytes = filelength(f);
close(f);

if (bytes < 250000) {
if (UIDM->BoardsQuery->State != dsEdit && UIDM->BoardsQuery->State != dsInsert) UIDM->BoardsQuery->Edit();
DBImageA->Picture->LoadFromFile(OpenPictureDialog->FileName);
Clipboard()->Assign(DBImageA->Picture);
DBImageA->Picture->Assign(Clipboard());
}
else Application->MessageBox("Превышен максимально допустимый размер файла (250 КБ)","Ошибка!",MB_OK|MB_ICONERROR);
void __fastcall TBoardForm::FormShow(TObject *Sender)
{
DBImageA->Picture->UnregisterGraphicClass(__classid(TJPEGImage), __classid(TJPEGImage));
DBImageA->Picture->RegisterFileFormat(__classid(TJPEGImage), "jpg", "jpg", __classid(TJPEGImage));
}
//-------------------------------------------------------------------- -------



Не пойму в чем дело, в базе оказываются данные формата BMP вместо JPG, хотя подсовываемый файл точно в JPG.


 
DBDev   (2003-08-27 10:34) [1]

???


 
DBDev   (2003-08-27 10:51) [2]

Собственно без

Clipboard()->Assign(DBImageA->Picture);
DBImageA->Picture->Assign(Clipboard());

Данные почему-то вобще не записываются...


 
zorik   (2003-08-27 11:06) [3]

Используй TStream. А еще посмотри старые вопросы в этом же разделе, там минимум 3 таких вопроса есть с ответами. Сначала нужно искать внимательно, а потом спрашивать.


 
DBDev   (2003-08-27 11:22) [4]

Use TBlobStream to access or modify the value of a BLOB field in a BDE-enabled dataset. А если у меня АДО???


 
Delirium ©   (2003-08-27 11:31) [5]

TBlobField тебе поможет


 
DBDev   (2003-08-27 12:01) [6]

Дык именно его я и использую. В моем случае DBImageA и есть TBlobField.


 
DBDev   (2003-08-27 12:50) [7]

Совсем запутался :(((! из отпуска только.
Может у кого есть работающий пример кода записи JPG в базу?


 
Nikky ©   (2003-08-27 18:54) [8]

TBlobField(SomePictureField).LoadFromFile(PictureFileName);


 
Петрович   (2003-08-28 11:50) [9]

Привет, а зачем тебе запихивать jpg в базу
не проше бы в базе держать информацию о jpg а сами файлы просто в каталоге???


 
Arm79   (2003-08-28 15:09) [10]

Лучше всего в "базе держать информацию о jpg а сами файлы просто в каталоге".
А если необходимо именно jpg, то необходимо создать объект TJpegImage, загрузить в него картинку с помощью Assign, а затем записать через метод SaveToStream в поток TADOBLOBStream, предварительно соединенный с BLOB-полем. Считывать тоже необходимо в TJpegImage



Страницы: 1 вся ветка

Текущий архив: 2003.09.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
1-58719
Yuraz
2003-09-02 09:01
2003.09.18
Помогите доработать код, ввод Edit только цифр+запятая+backsp


3-58553
paul_k
2003-08-25 09:41
2003.09.18
Возможно ли (D7, DBase)


14-58861
Dmitriy O.
2003-09-01 08:55
2003.09.18
Всех поздравляю с днем знаний


7-58952
Cidorov
2003-07-03 22:47
2003.09.18
Как добраться из Delphi 6 к портам PC


1-58611
DelphiNew
2003-09-08 14:58
2003.09.18
Чувствительность к регистру