dimitris kalamaras

math, social network analysis, web dev, free software…

Tag: MySQL

How to replace a given string inside a mysql table?

Just use the fabulous command REPLACE provided by mysql. The syntax goes like this:

update database_table set table_column = replace (table_column, "oldstring", "newstring");

For instance, to replace all occurrences of “modules” inside the linuxformat.gr drupal db with “sites/all/modules” I typed in:

update linuxformat_system set filename = replace (filename, "modules", "sites/all/modules");

Qt (Μέρος IIΙ): Αρχειοθέτης άρθρων

Στο προηγούμενο tutorial φτιάξαμε μια γραφική εφαρμογή, το BookAdmin, για να διαχειρίζεστε τη συλλογή των βιβλίων σας χρησιμοποιώντας μια βάση δεδομένων MySQL. Δεν ήταν κάτι ιδιαίτερο, βέβαια, και η αλήθεια είναι ότι θα έπρεπε ίσως να συνεχίζαμε την ανάπτυξή της (βάζοντας π.χ. φίλτρα για τις εγγραφές). Ωστόσο, πολλοί αναγνώστες του “LF” μας ζήτησαν με ευγενικό τρόπο (μας δωροδόκησαν καλά!) να τους δώσουμε έναν τρόπο αρχειοθέτησης των άρθρων του περιοδικού για όλα τα μέχρι σήμερα τεύχη. Οπότε σκεφτήκαμε: “τι καλύτερο από το να γράψουμε ένα μικρό tutorial γι’ αυτό βασιζόμενοι σε ότι κάναμε στο BookAdmin;” Έτσι, αυτή τη φορά, θα φτιάξουμε μια τέτοια εφαρμογούλα για να τηρείτε το “αρχείο” σας, αλλά και για να δείτε πως φτιάχνεται κάτι τέτοιο στην πράξη. Τέτοιο …making of ούτε στο Holywood δεν θα βρείτε! 😛 Σημείωση: μπορείτε να κατεβάσετε όλον τον κώδικα του άρθρου από εδώ.

Το σχέδιο έχει ως εξής. Η εφαρμογή, ας την βαφτίσουμε ArtAdmin, θα πρέπει να έχει ένα γραφικό περιβάλλον αντίστοιχο του BookAdmin, δηλαδή με πεδία για προβολή και αναζήτηση κάποιων εγγραφών (δηλαδή άρθρων) και ένα TableView σε ξεχωριστή καρτέλα για να βλέπετε όλα τα άρθρα μαζί. Συνεχίζοντας με αυταπάρνηση την παράδοση που θέλει κάθε προγραμματιστή …τεμπέλη, θα βασιστούμε στη φόρμα του BookAdmin αλλάζοντας ελαφρώς την πρώτη καρτέλα της για να φτιάξουμε το ολοκαίνουριο ArticlesAdmin – φασόν δηλαδή 🙂 Αυτή τη φορά, όμως θα προσθέσουμε και μερικά νέα κόλπα…

Read More

Qt (Μέρος IΙ): Βάσεις δεδομένων

Σε αυτό το tutorial, στόχος μας είναι να φτιάξουμε μια εφαρμογή που να αλληλεπιδρά με τη MySQL. Η Qt υποστηρίζει αρκετές βάσεις δεδομένων (MySQL, PostgreSQL, SQLite), αλλά εδώ θα περιοριστούμε στην MySQL.

Στο παράδειγμα που θα δούμε παρακάτω, θα φτιάξουμε2008/08/02/qt-μέρος-ι-convertor/#content μια εφαρμογή διαχείρισης βιβλίων, το bookAdmin. Η υλοποίηση του όμως θα είναι αρκετά γενική ώστε να μπορείτε να το προσαρμόσετε εύκολα στις δικές σας ανάγκες. Με μερικές αλλαγές στο περιβάλλον της εφαρμογής θα μπορείτε, αντί για βιβλία, να διαχειρίζεστε CDs, ταινίες, γραμματόσημα, οτιδήποτε. Θυμίζω ότι βασιζόμαστε στην Qt 4.2+ οπότε, ανάλογα με τη διανομή σας, θα πρέπει να έχετε ήδη εγκαταστήσει τα πακέτα ανάπτυξης της Qt4 (δείτε το πρώτο tutorial). Επιπλέον, επειδή θα δουλέψουμε με βάσεις δεδομένων, θα πρέπει να εγκαταστήσετε και το πακέτο libqt4-sql στο Debian/Ubuntu (ή το qt4-database-plugin-mysql-lib στο PCLinuxOS). Κατά τ’ άλλα, θα αρκεστούμε και πάλι στo Qt Designer και σε ένα κειμενογράφο.

Δημιουργία GUI

Αρχικά θα φτιάξουμε το GUI του bookAdmin. Τρέξτε λοιπόν το QtDesigner. Στην ερώτηση για το είδος της φόρμας, επιλέξτε “Main Window” μια και αυτή τη φορά θέλουμε να φτιάξουμε μια κανονική εφαρμογή. Στο προηγούμενο τεύχος είχαμε προτιμήσει το Widget, μια και τότε θέλαμε μόνο ένα λιτό διάλογο με μερικά μόνο πεδία για την εισαγωγή και προβολή των μονάδων. Το bookAdmin όμως θα είναι πολύ πιο περίπλοκη εφαρμογή, γι’ αυτό προτιμάμε το MainWindow.

Read More

Powered by WordPress & Theme by Anders Norén