Datenbank während der Laufzeit einlesen



  • Hallo,

    ich habe eine Frage zum einlesen einer Datenbank während das Prog läuft.
    Ich habe ein Formular mit dem sich der Benutzer in Datenbanken bewegen kann.
    Es ist natürlich kein Problem vorher Datenbanken festzulegen die dann in einem
    DBGrid angezeigt werden.
    Jetzt möchte ich den Benutzer aber über einen OpenDialog eine Datenbank auswählen lassen und diese dann im DBGrid anzeigen.
    Kann mir vielleicht jemand sagen wie ich das am besten im Code umsetze ?
    Ich wurstel mich schon eine ganze weile durch die FAQs und Tuts, habe aber noch nichts richtiges gefunden.
    Ich möchte nicht unbedingt eine komplette Lösung, aber irgendein Tip wie ich dieses Problem lösen könnte wäre echt klasse.

    Danke


  • Mod

    Hallo

    das ist ein wenig abhaengig von der Art der verwendeten DB

    im besten laeuft es so

    per SQL ein SELECT an die DB schicken
    den Query mit dem DBGrid verbinden

    MfG
    Klaus



  • Hallo,
    danke für die schnelle Antwort.

    Ich hatte eigentlich gehofft den Dateinamen aus dem OpenDialog irgendwie an TTable übergeben zu können.
    So in die Richtung TableName=OpenDialog1->Filename und
    if OpenDialog1->Execute() {Table1->Active=true}.
    Aber irgendwie funktioniert das nicht. Ist wahrscheinlich kein guter Ansatz, oder ?
    Mit SQL hatte ich noch nicht so viel zu tun und in den meisten Büchern die man bekommt gehen die Autoren davon aus, das die Datenbank schon vorhanden ist und erklären wie die Verbindung hergestellt wird. Ist aber alles nicht zur Laufzeit, so wie ich es eben bräuchte.
    Mal gucken vielleicht find ich ja noch was 🙂



  • "Irgendwie funktioniert das nicht" ist keine ausreichende Problembeschreibung.



  • Kinders ich werd bekloppt,

    jetzt geht es:

    void __fastcall TForm2::SpeedButton1Click(TObject *Sender)
    {
    if (OpenDialog1->Execute())
    {
    Edit1->Text=OpenDialog1->FileName;
    Table1->TableName=OpenDialog1->FileName;
    Table1->Active=true;
    }
    else
    {
    Edit1->Text="Datenbank auswählen !";
    }
    
    }
    

Anmelden zum Antworten