DBGrid->RecordCount in BDS2006???
-
Hallo,
in C++ Builder 5 bin ich, wenn meine dynamische Unterabfrage nur noch eine Zeile hatte, einfach mitif (DBGrid->RecordCount == 1) {TDataSet *pLDS = DBGrid->DataSource->DataSet; pLDS->GotoBookmark((void *)DBGrid->SelectedRows->Items[0].c_str()) ....}zum Ergebnis gekommen. BDS2006 scheint das nicht zu unterstützen.
Nun kann ich das zwar dem ADOQuery mit RecordCount übertragen, bekomme aber immer die Fehlermeldung "Listenindex überschreitet das Maximum (0)", obwohl nur eine Zeile da ist.if (MitarbeiterADOQuery->RecordCount == 1) { AnsiString sVorname = ""; AnsiString sNachname = ""; AnsiString sAusweis = ""; TDataSet *pLDS = MADBGrid->DataSource->DataSet; pLDS->GotoBookmark((void *)MADBGrid->SelectedRows->Items[0].c_str()); sVorname = sVorname + pLDS->Fields->Fields[0]->AsString; // 1. Spalte = Vorname sNachname = sNachname + pLDS->Fields->Fields[1]->AsString; // 2. Spalte = Nachname sAusweis = sAusweis + pLDS->Fields->Fields[2]->AsString; // 3. Spalte = Ausweis ...}Hat jemand eine Idee? Montag ist sowieso nicht mein Ding!
Grüße, Michael
-
MichaelC schrieb:
bekomme aber immer die Fehlermeldung "Listenindex überschreitet das Maximum (0)"
In welcher Zeile?
-
Hallo Jansen,
in Zeile 6. Habe dem DBGrid auch dgAlwaysShowSelection auf true gesetzt, damit auch wirklich die eine Zeile, die vom Queryergebnis übrig ist, selected ist.
Grüße, Michael