C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
как в mdb вставить мегабайты текста
nut
Отправлено: 14.06.2006, 20:07


Не зарегистрирован







как в mdb вставить мегабайты текста, там есть поле memo но оно ограничено 64 кило байтами
Konstantine
Отправлено: 14.06.2006, 21:39


Мастер участка

Группа: Модератор
Сообщений: 545



BLOB
в Access-e  — это "поле Объекта" (OLE Object) — до 1 ГБайт (ограничено свободным местом на диске)
nut
Отправлено: 15.06.2006, 17:28


Не зарегистрирован







запись в это поле ограничено 32769 символами, и в MEMO тоже столько же больше, пишет что ограничено длина BLOB поля, причем и для OLE и MEMO полей сообщение одно и тоже хотя в MEMO должен писать ровно в 2 раза больше, можно примерчик как заполнить поле больше 100000 символов с базой
Konstantine
Отправлено: 15.06.2006, 22:29


Мастер участка

Группа: Модератор
Сообщений: 545



CODE
   ADOTable1->Edit();
 TMemoryStream *st=new TMemoryStream();
 st->LoadFromFile(OpenPictureDialog1->FileName);
 st->Position=0;
 ((TBlobField*)(ADOTable1->FieldByName("MyImage"))->LoadFromStream(st);
 ADOTable1->Post();

в базе это поле имеет тип "Поле объекта OLE"
специально сморел размер файла — макс. размер (больший не было необходимости) который я загружал — 250321 байт. без проблем

Отредактировано Konstantine — 24/06/2006, 22:13
nut
Отправлено: 24.06.2006, 16:10


Не зарегистрирован







выдает ошибку на этой строке ((TBlobField*)(ADOTable1->FieldByName("MyImage")->LoadFromStream(st);
нет там функции LoadFromStream()
и подскажите как выгрузить из бызы в файл
Konstantine
Отправлено: 24.06.2006, 22:13


Мастер участка

Группа: Модератор
Сообщений: 545



Извиняюсь — там нехватало одной закрывающей скобки.
сейчас исправил — проверьте

Вернуться в Работа с базами данных в C++Builder