Главная страница
    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.01 c
1-58623
Genri
2003-09-04 13:19
2003.09.18
Виртуальный конструктор


14-58871
Kost
2003-08-29 20:16
2003.09.18
StringGird


14-58827
Cyber Chaynik
2003-08-30 03:09
2003.09.18
Какая мышь лучше ?


3-58579
Igor Mish
2003-08-26 18:07
2003.09.18
Лишние файлы ?!


14-58895
BALU1111
2003-08-29 14:01
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский