No dobra to tak:
1. Tworzysz dla klientów:
- Kod: Zaznacz cały
SqlDataSet - > DataSetProvider - > ClientDataSet - > DataSource - > DbGrid
Łączysz jak leci jedynie gdzie możesz mieć problem to w ClientDataSet wybierasz tam ProviderName (
UWAGA! Przy zmianie nazwy DataSetProvidera nie zostanie ona automatycznie zmieniona w ClientDataSecie )
Wbijasz zapytanie SQL do SqlDataSet. Robiąc
ClientDataSet->Active = true; Zobaczysz rezultat zapytania.
2. Teraz twrzorzysz taki sam układ komponentów dla szczegółu klienta
- Kod: Zaznacz cały
SqlDataSet -> DataSetProvider -> ClientDataSet -> DataSource -> DbGrid
3. I teraz aby po przewinięciu klienta zobaczyć szczegóły np. Zamówienia musisz w 1 zestawie komponentów odpowiadającym za klientów w ClientDataSet użyć metody
OnAfterScroll.
A W niej wywołać zapytanie które wyświetli szczegóły np. (
UWAGA !! PSEUDO KOD)
void __fastcall TFrmMain::ClientDataSet1AfterScroll(TDataSet *DataSet)
{
String Sql = "Select *from Szczegoly where IdKlienta=" + String(ClientDataSetKlienci->FieldByName("Id")->AsInteger);
SqlDataSetSzczegoly->CommandText = Sql;
ClientDataSetSzczegoly->Active = true;
}
Wszystko będzie śmiagać.
Zaznaczam, że napisałem ci to bardzo ogólnie. Sposób zarządzania zapytaniami SQL zostawiam tobie. Osobiście polecam używanie procedur składowanych.
Pozdrawiam,
daj znać jak poszło.