Q->Open();
Q->Edit();//**
Q->FieldByName("FILE_NAME")->AsString = file_path;
TBlobField *pBlob = dynamic_cast<TBlobField *>(Q->FieldByName("FILE_CONTENT"));
pBlob->LoadFromFile( file_path );
Q->Post();
read-only dataset
Необходимо сохранить в BLOB поле базы данных файл.
Использую для этого следующий код:
Код:
Предварительно выбрав в Query(Q) нужную запись.
Но на строке ** вылетает ошибка "cannot modify read-only dataset".
Некоторые пишут, что датасэт не доступен для редактирования из-за отсутствия определений запросов редактирования... но в Query то их вообще нету.
В общем я буду ооооооооооооочень признателен любой помощи.
Цитата: Gole
Только не пинайте, проблема упоминается довольно часто, но решеня для С++ и FireBird-а мне найти так и не удалось.
Необходимо сохранить в BLOB поле базы данных файл.
Использую для этого следующий код:
Предварительно выбрав в Query(Q) нужную запись.
Но на строке ** вылетает ошибка "cannot modify read-only dataset".
Некоторые пишут, что датасэт не доступен для редактирования из-за отсутствия определений запросов редактирования... но в Query то их вообще нету.
В общем я буду ооооооооооооочень признателен любой помощи.
Необходимо сохранить в BLOB поле базы данных файл.
Использую для этого следующий код:
Код:
Q->Open();
Q->Edit();//**
Q->FieldByName("FILE_NAME")->AsString = file_path;
TBlobField *pBlob = dynamic_cast<TBlobField *>(Q->FieldByName("FILE_CONTENT"));
pBlob->LoadFromFile( file_path );
Q->Post();
Q->Edit();//**
Q->FieldByName("FILE_NAME")->AsString = file_path;
TBlobField *pBlob = dynamic_cast<TBlobField *>(Q->FieldByName("FILE_CONTENT"));
pBlob->LoadFromFile( file_path );
Q->Post();
Предварительно выбрав в Query(Q) нужную запись.
Но на строке ** вылетает ошибка "cannot modify read-only dataset".
Некоторые пишут, что датасэт не доступен для редактирования из-за отсутствия определений запросов редактирования... но в Query то их вообще нету.
В общем я буду ооооооооооооочень признателен любой помощи.
Правильно говорит.
напиши запрос с параметрами и в параметр передавай. Дето валялись исходники для файрберда, но в облом сейчас рыть архивы.
Ещё можно связать с Query объект типа TUpdateSQL. В нём прописываются запросы на добавление, обновление и удаление результатов данной выборки - после этого появится возможность редактировать и "неживой" набор данных.
Цитата: el scorpio
Для Query из BDE нужно указать свойство RequestLive ("живой"), тогда запросы станут изменяемыми. Только имеется ряд ограничений на выборку (отдна таблица, без GROUP и тд...)
Ещё можно связать с Query объект типа TUpdateSQL. В нём прописываются запросы на добавление, обновление и удаление результатов данной выборки - после этого появится возможность редактировать и "неживой" набор данных.
Ещё можно связать с Query объект типа TUpdateSQL. В нём прописываются запросы на добавление, обновление и удаление результатов данной выборки - после этого появится возможность редактировать и "неживой" набор данных.
Таблица "только для чтения" не станет другой, даже если ты усрешься. Человек ясно написал - почему и зачем это надо.
Решил проблему путем использования компонентов FibPlus. А именно связки Query+DataSet. В Датасєте прописал запросы для редактирования с использованием параметров. ПОка что бегает :)