Über DBCtrlGrid auf eine Datenbank zugreifen



  • Hallo,

    Ich habe folgendes Problem: In einem DBCtrlGrid greife ich auf eine Tabelle einer Datenbank zu. In dieser Datenbank habe ich Daten abgelegt, die anhand einer fortlaufenden Nummer (id) gespeichert sind. Diese id sieht man jedoch nicht in der DBCtrGrid. Nehmen wir jetzt jetzt an ich habe 4 Daten in diesem DBCtrlGrid stehen. Kann auf meinem Formular ein beliebiges auswählen. Jetzt möchte ich diesesn Datensat den ich ausgeählt habe über die id löschen.

    Wie mach ich das? bzw....wie finde ich den passenden Datensatz?

    Meine überlegung war, wenn ich den ersten Datensatz (hat die id "1") anklicke, gibts es nicht eine möglichkeit über das Feld DBCtrlGrid eine Zählung vorzunehmen? Wenn ich mich dann auf dem dritten Datensatz befinde erhalte ich den Wert 3 und muss nur den Datensatz mit der id "3" löschen.......

    Oder gibt es eine viel bessere Möglichkeit?

    Bin wie immer dankbar für alle Tipps.



  • Hallo

    ich würde das id-Feld mit in Datenmenge aufnehmen und die Spalte dann beim Grid wieder rausnehmen. Geht zur Entwurfs- und zur Laufzeit

    bis bald
    akari



  • Ich hab das so gemacht wie du sagtest. Einfach eine DBText Komponente mit der id ins ControlGrid aufgenommen und Visible auf false gestellt. So klappt das mit dem zugreifen wunderbar.

    Danke nochmal für den Tip!



  • äh??? Laßt doch bitte mal den Unsinn mit den unsichtbaren DBxxx-Controls. Mach es so wie akari beschrieben hat.



  • Ich nehme an, es geht um die ils-Einsendeaufgabe 12???
    Versuch mal die Aufgabenstellung genauer zu lesen. Es ist gar nicht so umständlich (eigentlich viel zu einfach durch die Hilfestellung in den Fragen !!!)

    Hier mal als Anregung das eigentliche Löschen:

    Table2->FindKey(ARRAYOFCONST((Form1->Query2->FieldValues["MID"])));
    Table2->Delete();
    Query2->Close();
    Query2->Open();
    


  • Table von TTable????? Sollte man nicht mehr verwenden. Genausowenig die BDE. Wer es trotzdem macht, muss mit den Konsequenzen leben (und die sind zahlreich).



  • @Joe_M: Nix für ungut, aber es ist leider so in der Aufgabenstellung vorgegeben. Im Prinzip ist das Programm bereits vorhanden und soll wie hier z.B. um das Löschen einer gesendeten eMail erweitert werden. Mehr steckt hinter den Aufgaben bei ils leider nicht. Echtes Programmieren lernt man damit nicht.



  • Gut das ich die Aufgabe noch nicht abgeschickt habe. Das andere funzt zwar auch, aber so brauch ich keine anderen Komponenten einbauen.

    PS: Sag mal Rainbow...hast du auch n Fernlehrgang als Programmierer bei der ILS gemacht?



  • Sorry für's Offtopic !!!
    Hmmm....nun wie soll ich es ausdrücken: Ich habe diesen Fernlerngang gemacht - aber um ganz ehrlich zu sein: Die Aufgaben sind nicht gerade anspruchsvoll. Die Seminare waren witzig und haben auch einiges an Ideen gebracht. Aber sich hinterher 'C++ Programmierer für Windows' nennen zu können (mit Zertifikat und Diplom !!!), ist doch etwas arg übertrieben. Es ist wirklich nur ein Grundlagenkurs, der einem den Umgang mit dem Builder in den Grundzügen erklärt. Vielleicht bringt der geplante Aufbaukurs dann wirklich etwas.



  • Rainbow99 schrieb:

    Sorry für's Offtopic !!!
    Hmmm....nun wie soll ich es ausdrücken: Ich habe diesen Fernlerngang gemacht - aber um ganz ehrlich zu sein: Die Aufgaben sind nicht gerade anspruchsvoll. Die Seminare waren witzig und haben auch einiges an Ideen gebracht. Aber sich hinterher 'C++ Programmierer für Windows' nennen zu können (mit Zertifikat und Diplom !!!), ist doch etwas arg übertrieben. Es ist wirklich nur ein Grundlagenkurs, der einem den Umgang mit dem Builder in den Grundzügen erklärt. Vielleicht bringt der geplante Aufbaukurs dann wirklich etwas.

    Hast du denn sonst noch irgendwas an Seminaren oder Lehrgängen in die Richtung gemacht? Oder beruflich jetzt in dem Bereich tätig?
    Ich melde mich wahrscheinlich im April noch für ein Studium als Informatiker an. Bin ein bissl auf den Geschmack gekommen. 😋


Anmelden zum Antworten