Datenbank aktualisieren
-
Hi
Habe mit eurer FAQ-Datenbank eine erstellt.
Die Datenbank kann der Nutzer auf dem Form1 editieren.
Über einen Button gelangt man auf Form2Form2->Show();
In einer Listbox werden die Einträge aufgelistet.
Form1->Table1->First(); ListBox1->Clear(); for(int i=0; i<Form1->Table1->RecordCount; i++) { if (Form1->Table1->FieldByName("Gekauft")->AsString=="ye") { ListBox1->Items->Add(Form1->Table1->FieldByName("Titel")->AsString); } Form1->Table1->Next(); } }
Das Problem ist nur, das wenn der Nutzer einen Eintrag aktualiesiert und danach über den Button Form2 aufruft, Wird der Eintrag nicht angezeigt.
Erst wenn das Programm beendet und neu gestartet wird.Kann mir bitte einer Helfen.
Habe keine Ahnung
DANKE
-
poste mal den code wie du die daten reinschreibst,
denn da liegt ja wohl der fehler und nicht auf form2
wo du die daten ausliest.Asta la H.K.
-
Ich schreibe die Daten direkt in die Datenbank.
Lasse mir die Datenbank mit einem DBGrid anzeigen und mit DBNavigator schreibe ich die Datenbank.
-
schon ma ne close <-> open funktion eingebaut oder die funktion refresh angeschaut ?
-
Ja hab ich gemacht.
Z.B.
habe ich vor dem AufrufForm1->Table1->Close();// bzw Form1->Table1->Refresh();
Form1->Table1->Open();
Form2->Show()und auch bevor ich die Datenbank mit der for Schleife auslese.
Geht aber net.
-
Hallo,
Hast du den geänderten Datensatz auch mit Table1->Post() in die Datenbank geschrieben ?
-
Eine Änderung sieht bei mir ungefähr so aus
void __fastcall TForm1::Button2Click(TObject *Sender) { //IN der CheckListBox1 stehen die Autos. Beim Anklicken soll das Auto //den Besitzer wechseln int index = CheckListBox1->ItemIndex; Table1->RecNo = index + 1; Table1->Edit(); Table1->FieldValues["AutoInBesitz"] = CheckListBox1->Checked[index] ? "ye" : "no"; Table1->Post(); Table1->Refresh(); }