abfrage des aktuellen datensatzes mit TDBNavigator



  • folgendes problem:
    ich möchte alle bilder einer datenbank (navigation mit TDBNavigator) in der Form "image[Index].bmp abspeichern.
    dazu folgender code:
    [cpp]
    int Index = 1;

    DBNavigator->BtnClick(nbFirst);

    do{
    DBImage->Picture->SaveToFile(AnsiString("image") + Index + AnsiString(".bmp"));

    DBNavigator->BtnClick(nbNext);
    Index++;
    }while([letzter Eintrag]);
    [/cpp]

    mein problem ist, dass ich nicht weiss, wann der letzte eintrag erreicht wurde. gibt es irgend eine möglichkeit über den DBNavigator abzufragen, wann der letzte eintrag aktiv ist??



  • Was verwendest Du als Datenquelle für den DBNavigator?

    Die Datenquelle sollte über Methoden FindFirst() FindNext(), oder Next() und die Eigenschaft EOF verfügen. Damit sollte das deutlich eleganter zu lösen sein.



  • also ich verwende ein TDataModule mit TDataSource & TTable.
    Tabelle wurde mit Borland Database Desktop erstellt (.db).



  • Ich hab das hier schon oft genug gesagt, aber noch einmal: Von der Verwendung von TTable, Paradox und / oder der BDE rate ich ab.

    TTable funktioniert mit Pdox oder dBase sehr gut, allerdings sind beide Desktopdatenbanken mehr als veraltet und verusachen reichlich Probleme. Die BDE sollte ebenfalls nicht mehr verwenden. Dies sind Produkte die noch aus der 16bit Zeit stammen...



  • habe jetzt versucht anstatt der TTable eine TQuery zu verwenden. allerdings erhalte ich jetzt eine fehlermeldung wenn ich bei TQuery->DatabaseName meine bereits vorhandene .db datei angib. muss ich da jetzt auch eine andere datenbank verwenden? wenn ja welche? *keine ahnung hab* ? bitte um hilfe!



  • Hallo

    wahrscheinlich fehlt dir der Abfragestring

    TQuery->SQL->Text = "Select * from <Tablename>";
    

    ansonsten schreib mal die Fehlermeldung

    bis bald
    akari



  • Ich hab da so ein ähliches Problem. Wobei es eigentlich bei mir noch viel früher auftaucht. Ich hab da schon Probleme mit der Navigation. Welche Methode gibt mir denn den inhalt einer bestimmten Zelle wieder? Die Borland 6 Hilfe is mir nicht fremd, jedoch hilft sie mir momentan nicht. Ich kann zwar die Methode

    nbNext
    

    aufrufen aber wie hol ich mir den inhalt als Ansitring???

    Schöne N00b Grüße.

    Und ja ich hab mir die FAQ angeschaut aber irgendwie keine Schlüssige Antwort gefunden.



  • Hallo

    suchst du das?

    AnsiString Wert = Table->FieldByName("Feldname")->AsString
    

    bis bald
    akari



  • Croatiancow schrieb:

    Und ja ich hab mir die FAQ angeschaut aber irgendwie keine Schlüssige Antwort gefunden.

    [url=http://www.c-plusplus.net/forum/viewtopic.php?t=39271]???[/url]



  • Ja danke akari.

    BigNeal, da gehts um SQL und ich kann damit nix anfangen.

    Ich meld mich später nochmal. Zur Sicherheit geh ich nochmal die FAQs durch bevor ich hier noch gelyncht werde.

    😃

    Gruß



  • So ich muss ehrlich zugeben das ich die Lösung irgendwo mal gesehen hab (hier im Forum). Aber ich surf so lange im Board das mir die History Fuktion garnichts bringt.

    Die Frage lautet:

    "Wie überprüfe ich ob das LETZTE Element ausgewählt ist?"

    ich muss ne Combobox mit Items füllen. Dazu muss ich aber die Bedingung dynamisch halten. Kann mir bitte einer kurz nen Link zur Lösung posten?

    Thx und Grüßle



  • Hallo

    while (!Table->Eof)
    {
      // Datensatz in ComboBox eintragen
      Table->Next();
      }
    

    bis bald
    akari



  • Danke. Ich habs dank deiner Hilfe lösen können.

    Bahala NA!


Anmelden zum Antworten