Paranoik |
Отправлено: 06.06.2003, 20:22 |
|
Не зарегистрирован
|
Подскажите пожалуйста, кто знает!
База данных (6-билдёр, компоненты ado) — в ней хочу создать некую виртуальную таблицу для некоторых рассчетов, чтоб в памяти только была.
Нашел только компонент RxMemoryData.
Хочу его в программе забить данными через цикл используя его метод InsertRecord. Но компилятор выдает ошибку мол
"E2247 '_fastcall TRxMemoryData::InsertRecord(int)' is not accessible"
Как быть?
Или может быть подсоветует какую-нибудь штуку, чтоб можно было виртуальную таблицу создать и шоб её пользовать можно было как обычный DBGrid?
Заранее благодарен! |
|
Admin |
Отправлено: 06.06.2003, 22:47 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Компонент RxMemoryData работает отлично и без проблем.
Также можете использовать kbmMemoryTable,
он несколько отличается, но работает быстрее.
Оба эти компонента можно связать с любыми DBGrid,
помещать в них данные и т.д.
Отредактировано Admin — 6 Jun 2003, 23:11
|
|
Admin |
Отправлено: 06.06.2003, 23:10 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Кроме того, если нужно целиком поместить
все данные из таблицы или запроса, можно
использовать методы CopyStructure() и LoadFromDataSet()
CODE | void __fastcall TForm1::Button1Click(TObject *Sender)
{
// RxMemoryData1->CopyStructure(Table1);
RxMemoryData1->LoadFromDataSet(Table1, 0, lmCopy);
RxMemoryData1->Open();
} |
для копирования в другой набор SaveToDataSet()
----
А вместо метода InsertRecord() — он недоступен, можно использовать
метод AppendRecord()
CODE |
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
RxMemoryData1->CopyStructure(Table1);
Table1->Open(); RxMemoryData1->Open();
while(!Table1->Eof){
RxMemoryData1->AppendRecord(ARRAYOFCONST((Table1Name->AsString, Table1Date->AsString)));
Table1->Next();
}
} |
Кстати, не уточнял, но посмотрите на сайте http://polesoft.narod.ru/
они переделывали RXLib и некоторые свойства и методы из
секций private и protected перенесли в public,
так что возможно в RxLib их сборки этот метод и доступен.
|
|
Paranoik |
Отправлено: 07.06.2003, 12:37 |
|
Не зарегистрирован
|
Большое спасибо за ответ!
Буду пробовать.
|
|
_Владимир_ |
Отправлено: 09.06.2003, 19:27 |
|
Не зарегистрирован
|
А я работаю через ClientDataSet
Если в него не надо первоначально что-нибудь
закачать из табл, то сначала Create, далее
Append, ну а если нужно то ставлю Provider-а,
Query ...
|
|
Paranoik |
Отправлено: 09.06.2003, 23:30 |
|
Не зарегистрирован
|
Не, я с RXMemoryData разобрался — всё отлично. Удобно.
Вполне.
Но буду иметь в виду!
Спасибо. |
|