Witam, chciałem sprawdzić ClientDataSet ale na samym początku pojawił się problem. Jak tylko dochodzi do wyświetlania w gridzie wierszy to sypie Accessem.
- Na formie mam ADOConnection, ADOQuery (prosty select * from table), datasource i grida. Wyświetla ładnie rekordy.
- Dodałem DataSetProvider, ClientDataSet oraz dodatkowego grida i datasource.
- Ustawiam Active w ClientDataSet na true i ładnie powinno pobrać wiersze poprzez providera z ADOQuery i wyświetlić w drugim gridzie. W międzyczasie powinienem nawet zobaczyć że ADOQuery stał się aktywny i w pierwszym gridzie powinny być też widoczne wiersze. I tak się dzieje, pierwszy grid wyświetla wiersze a jak dochodzi do wyświetlenia wierszy w drugim to Access V. i koniec.
Ktoś wie o co chodzi? Zero kodu, podpięte po prostu kontrolki. ClientDataSet ma pobrane wiersze ale nie można ich czytać:
Zdarzenia:
- ClientDataSet BeforeOpen
- Query BeforeOpen
- Query AfterOpen
- Provider GetData -> RecordCount = 6 czyli sa wiersze pobrane
- ClientDataSet AfterOpen
Jak przychodzi wyświetlić w gridzie Access. Jak odepnę datasource to jest ok ale jak wówczas dodałem kod by pobrać cokolwiek to Access:
int count = ClientDataSet->RecordCount; // 6 wierszy
ClientDataSet->First();
AnsiString text = ClientDataSet->FieldByName("name")->AsString; //Access V.
Czy ktoś wie o co chodzi albo ma jakiś przykładowy kod?
PS IDE Borland C++ Builder 6.0