Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];

Вниз

Помогите разобрться с запихиванием 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;
Скачать: [xml.tar.bz2];

Наверх




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


1-58702
_BasiL_
2003-09-08 11:16
2003.09.18
PGP без установки


1-58650
vvz
2003-09-05 06:17
2003.09.18
Распространение приложений


6-58815
HellTrooper
2003-07-16 11:40
2003.09.18
Connection Closed Gracefully


4-58977
Bill
2003-07-18 16:06
2003.09.18
Перевод строки в число с плавающей точкой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский