Главная страница
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.015 c
1-58761
Sniffer
2003-09-06 12:39
2003.09.18
Изминение Security Attributes файла


14-58901
HolACost!
2003-08-28 18:24
2003.09.18
Почуму программист пошёл ленивый!


3-58545
pvv
2003-08-26 13:21
2003.09.18
Быстрый поиск по базе Paradox


14-58834
Knight
2003-08-31 22:49
2003.09.18
Просто пара вопросов... чё-то в голову стукнуло :)


1-58716
madm
2003-09-08 14:29
2003.09.18
А где нарыть исходники RichEdit?