Datenbanken



  • Hallo Gemeinde,

    ich will ein Programm mit einer größeren Datenbank mit dem Borland-Builder umschreiben. In dieser soll editiert, eingefügt und gelöscht werden. Unter Verwendung einer dBASE-Tabelle gelingt mir das einfügen über der Cursorposition nicht. (Table1->Insert();) Mit allen Paradox - Tabellen geht das jedoch problemlos. Der neue Datensatz wird immer an das Ende der Tabelle geschoben. In jedem Fall sind die Tabellen nicht indiziert. Würde mich freuen, wenn jemand einem armen Anfänger(C++Umsteiger) helfen kann.
    Gruß Ingolf



  • Hallo

    benutzt statt TTable->insert lieber TQuery mit dem passendem SQL-Kommando :

    TQuery->SQL->Text = "INSERT INTO <TableName> SET <FieldName> = '<Value>',...";
    TQuery->ExecSQL();
    

    bis bald
    akari



  • Besten Dank für den Tip. Wühle mich jetzt durch die Hilfe. Leider löst der nicht das Problem, dass man in die dBASE Tabellen nicht an Cursorposition einfügen kann. Die Hilfe sagt: das muß gehen, ich sage das auch, aber geht nicht. Hat jemand noch andere Ideen?

    Gruß Ingolf



  • DBase ist ein Relikt.
    Im Zeitalter relationaler und objektorientierter Datenbanken absolut nicht zu empfehlen.

    Selbst wenn der Insert funktioniert, Du wirst mit dieser Datenbank nicht zukunftsicher fahren.

    Alternativ empfehle ich Dir Interbase ( version 6 free) , oder Firebird.

    Mit Firebird bin ich sehr zufrieden , die Datenbank ist schlank leicht zu portieren, Du kannst Sie als Embedded mittels einer einzigen Dll nutzen.
    Unterstützt Trigger , Stored Proc etc.
    Du hast eine breite Auswahl an Controls (BCB prof.)

    Vielleicht wäre es für Dich sehr aufwendig die Datenbak neu zu designen,
    aber danach wirst Du umso mehr Freude daran haben.

    Denk drüber nach. 🙄

    Und noch ein Tipp:
    Finger weg von Paradox.



  • Die Anzeigereihenfolge wird durch den primären Index bestimmt, respektive durch eine Order-By-Klausel im SQL-Statement.

    Und noch ein Tip: Am besten auch gleich die Finger von der BDE lassen (TQuery, TTable...).



  • Hallo Jungs,

    ihr habt mich richtig aufgebaut? lach!
    🙂 Als die Idee für diese Datenbank vor mehreren Jahren geboren wurde war dBASE die beste Lösung. Jetzt ist diese so voll mit Daten, dass sie verwendet werden muss. Ein erneutes eintippen dauert Jahre! Wenn keiner eine Idee hat die zur Lösung des Problems führt, werde ich noch einmal die Programmiersprache wechseln. Hatte doch so viel gutes von C++ gehört.
    Also wenn noch einen Lichtblick hat, immer her damit.



  • abtippen? das ist nur was für deppen?

    ich denke schon das dfu die daten auf ein anderes system portieren kannst. halt abfragen und dann in das neue system rein und fertig.

    davon haste mehr, und dann biste aktuel und hast auch immer gute laune 🙂

    hans



  • hans im glück schrieb:

    abtippen? das ist nur was für deppen?

    ich denke schon das dfu die daten auf ein anderes system portieren kannst. halt abfragen und dann in das neue system rein und fertig.

    davon haste mehr, und dann biste aktuel und hast auch immer gute laune 🙂

    hans

    Welch ein Riesenpotenzial steckt hinter diesem Post...

    Jetzt mal im ernst:

    @ingolf:

    im IT Bereich wirst Du immer in die Situation kommen, daß Dein System
    irgendwann mal veraltet ist.

    Es kommt der Zeitpunkt, wo das System gewartet werden muß!
    Und manchmal lohnt der Aufwand wirklich, neue Wege zu beschreiten.

    Und Deine Argumentation was C++ angeht, finde ich etwas albern,
    weil das Thema nur wenig mit C++ zu tun hat.
    Eher mit dem vernünftigen und sicheren Datenmodell(Backend)
    Eher mit dem Framework( hier VCL o. CLX).

    Aber Du kannst Dir mal Visual C++ respective MFC anschauen.
    Ich denke mal , da zieht MVC++ den kürzeren gegenüber dem C++ Builder was die Möglichkeiten der Entwicklung von Datenbanken angeht. 😉

    Oder Du bleibst einfach weiterhin beim alten.


  • Mod

    Hallo

    schreib dir einfach ein kleines Tool (DBase->mySQL zB)

    einfach Datensaetze einlesen und umkopieren

    und schon hast du eine andere DB
    (mach ich schon seit einiger Zeit fuer alle moeglichen Kunden die von DBase oa. wegwollen)

    MfG
    Klaus


Anmelden zum Antworten