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

Вниз

как корректно записать объект OLE в поле БД?   Найти похожие ветки 

 
DBDev   (2003-05-15 11:44) [0]

для TOleContainer объекта?

Для записи (см. код) сначала пишу во временный файл в каталоге TEMP, затем пихаю в базу. Другого способа пока не нашел, подскажите, посоветуйте, господа мэтры!

OleClassName - возвращает имя класса, а не расширение файла.
Последнее нужно для корректной записи поля в БД. Как получить расширение файла для объекта OLE?

if (DocContainer->InsertObjectDialog() == IDOK) {
AnsiString fn = DocContainer->OleClassName;
GExt = НАДО ПОЛУЧИТЬ РАСШИРЕНИЕ ФАЙЛА (для СМ. ниже)
}


Запись в файл:

AnsiString file;

if (osEmpty != DocContainer->State) {
char buff[255];
GetEnvironmentVariable("TEMP", buff, sizeof(buff));
file = AnsiString(buff) + AnsiString("\\temp") + GExt;

DocContainer->OleObject.Exec(Procedure("SaveAs") << file);
Query->Edit();
((TBlobField *)Query->FieldByName("BLOB"))->LoadFromFile(file);
Query->FieldByName("DocumentExt")->AsString = GExt;
Query->Post();

DeleteFile(file);
}


 
DBDev   (2003-05-15 12:01) [1]

Или как иным способом "сказать" объекту OLE запишись в поле БД а не в файл???



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

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

Наверх




Память: 0.46 MB
Время: 0.021 c
4-3212
Grebenkin Rodion
2003-04-04 11:24
2003.06.02
ScrollBar в TRichEdit


14-3079
prihod
2003-05-16 13:03
2003.06.02
Поделитесь пожалуйта информацией насчет SQL


1-2945
Vin_Ghost
2003-05-20 23:15
2003.06.02
Угол поворота


14-3065
Swift
2003-05-15 21:21
2003.06.02
новичок в Delphi. Первые вопросы.


14-3077
IronHawk
2003-05-12 11:55
2003.06.02
Пятая Киевская Встреча Мастаков в Реале - СОСТОЯЛАСЬ!!!