MySQL und Netzwerk -> QT?



  • Hallo,

    ich will eine kleine Server-Client-Anwendung schreiben. Im Prinzip soll der Server aus einer Datenbank Daten auslesen und sie dem Client übergeben, der sie grafisch darstellt.
    Da der Client eine GUI benötigt, habe ich mich etwas mit Qt vertraut gemacht. Dabei bin ich dann zufällig darauf gestoßen, dass es bei Qt auch Klassen für Netzwerkprogrammierung und Datenbanken gibt.

    Jetzt weiß ich allerdings nicht, ob das sinnvoll ist diese zu verwenden/nicht zu verwenden und stattdessen lieber die Includes mysql.h und socket_irgendwas 😉 zu verwenden.

    Der Server soll unter Linux laufen und braucht eigentlich keine GUI, der Client soll unter Linux und Windows laufen und braucht auf jeden Fall eine GUI (hat er auch schon ^^)

    Vielleicht könnt ihr mir einen Tipp geben, wie brauchbar Qt für sowas ist.

    Mfg
    DerBaer



  • Also ich habe noch nie direkt mit den MySql includes gearbeitet, doch QMYSQL schon öfter.
    Der Vorteil vom QSql-Modul ist, dass du für jedes DBMS eigentlich so ziemlich die gleichen Zugriffsfunktionen hast. Sollte sich das DBMS mal ändern, brauchst du nur von QMYSQL zu "wasauchimmer" wechseln und ansonsten alles belassen wie es ist. Vorausgesetzt du lädst die Scripte aus einer Datei anstatt sie hardcodiert einzutragen. Ansonsten müsstest du auch das Im Quellcod ändern.

    Aber davon abgesehen biete QT einige nützliche Funktionalitäten zur Bearbeitung von SQL Abfragen wie z.B. Prepared Statements oder falls du die Daten darstellen wilst bietet Qt auch entsprechende Klassen an die dir dabei helfen.

    Gibt es nen Grund wieso du das über nen Server/Client system machst? Kannst dich doch direkt mit dem DBMS verbinden. Mag vielleicht prinzipiell unsicherer sein, aber ich würde mal sagen es gibt nur wenige Fälle wo diese Extra Sicherheit so einen Aufwand mit dme Server lohnt.



  • ok vielen Dank. Dann werde ich mal die Beispiele dazu durcharbeiten.

    Netzwerk brauch ich, weil das Serverprogramm zusätzlich noch ein paar Verwaltungstätigkeiten machen soll, was sonst im besten Fall nervig zum Programmieren ist^^ und zweitens will ich sowas lernen 🙂

    Mfg
    DerBaer


Anmelden zum Antworten