Jump to content

Προβλημα συνδεσης με βαση δεδομενων mysql


panos2607
 Share

Recommended Posts

Καλησπερα παιδια.Ειναι το πρωτο μου θεμα εδω και γενικοτερα σε φορουμ.Ελπιζω να βρω την βοηθεια που ζηταω.

Το προβλημα μου ειναι το εξης.

Δουλευω σε visual c++ για μια εφαρμογή για την πτυχιακη μου και εχω προβλημα στο να συνδεσω την βαση δεδομενων με την εφαρμογη. Επειδη ειχα wamp server ηδη εγκατεστημενο χρησιμοποιησα την κονσολα που εχει ηδη για mysql.Φτιαχνω που λετε την βαση και παω ομορφα και ωραια στην visual c++ να την εισαγω.Παω connect to database και επιλεγω sql server database file.Αυτο ψαχνει ομως για αρχεια .mdf ενω η βαση που εφτιαξα δεν εχει τετοια καταληξη.Εψαξα και κατεβασα και κατι mysql-connectors που βρηκα αλλα και παλι δεν καταφερα κατι.Κατεβασα σημερα mysql server5.1(με το σκεπτικο μηπως φταει το wamp) και ξαναεφτιαξα την βαση απο την αρχη. Χαρουμενος παω μετα να δω πως εχει απο8ηκευτεί και ακουσων ακουσων, δεν βρισκω που ειναι αποθηκευμενο...

Εψαξα στις επιλογες για το που αποθηκευονται και δεν βρηκα κατι.Εκτος αν δεν το προσεξα.Οποτε εχει κανεις καμμια ιδεα γιαυτο ;Οπως επισης το προβλημα που αναφερα παραπανω ;(προβλημα συνδεσης)

Παρακαλω αν μπορειτε δωστε μου καμμια ιδεα γιατι μονος μου εχω ψαξει και δεν βρισκω κατι.

Σας ευχαριστω εκ των προτερων.

Link to comment
Share on other sites

Αν χρησιμοποιείς mysql τότε θα πρέπει να συνδέεσαι με tcp στον server για να κάνεις τα queries σου, δηλαδή θα πρέπει να τρέχει ο mysql server... Αν θέλεις να μεταφέρεις την βάση σου, απλά κάνεις export τους πίνακες που θες και import σε κάποια άλλη βάση, σε άλλον υπολογιστή...

Γενικά το api της mysql είναι γραμμένο σε ansi C και όχι σε C++... αν θες να χρησιμοποιήσεις το api σε OO περιβάλλον (με ότι σου προσφέρει αυτό), χρειάζεσαι κάποιο C++ wrapper που να κάνει expose σε ένα object, όλες τις λειτουργίες του api... Από αυτά πλέον έχει βρωμίσει ο τόπος, οπότε ανάλογα με τον compiler σου, διαλέγεις το κατάλληλο ή αν ο ide σου (σε συνδυασμό με τον compiler του) έχει κάποια έτοιμη βιβλιοθήκη που κάνει wrapping, τότε χρησιμοποιείς αυτή...

Αν θες να παίζεις σε multi-platform εφαρμογές με βάσεις δεδομένων, μην χρησιμοποιήσεις libraries του ide σου, αλλά πήγαινε σε open source wrappers που είναι γραμμένοι χωρίς να εξαρτώνται από headers και functions εκτός της standard C++...

Link to comment
Share on other sites

Σε ευχαριστώ πολύ για την απάντηση σου φίλε Jaco!

Ψάχνω τώρα σχετικά με c++ wrapper που αναφέρεις. Ελπίζω να βοηθήσει...

Και πάλι ευχαριστώ!

Link to comment
Share on other sites

Μια ερώτηση να σου κάνω μόνο. Ξέρεις για την βιβλιοθήκη QT; Κάνει αυτή τη δουλειά; Την βρήκα σε ένα forum και επίσης το είχα ξανακούσει πριν καιρό. Θα βγάλω άκρη με αυτή; Γνωρίζεις;

Ευχαριστω!

Link to comment
Share on other sites

Ναι θα κάνεις δουλειά, γιατί η Qt έχει plugin για την mysql...

Το μόνο πρόβλημα όμως, είναι ότι η Qt ναι μεν είναι C++, αλλά επειδή έχει δικά της libraries/classes, θα σε ξενίσει λίγο στον τρόπο γραφής, αν έχεις συνηθίσει σε standard C++ και STL... Επίσης αν είναι εφαρμογή με GUI, η Qt4 έχει δικό της τρόπο που συνδέει τον κώδικα με το gui και χρησιμοποιεί μια λογική signal/slot events, δηλαδή κάτι ενδιάμεσο από το event based των windows και το signal loop του linux...

Τέλος πάντων, δοκίμασε το, αλλά αν σε ξενίσει στην αρχή μην τα παρατήσεις, παρόλο τους περιορισμούς που έχει η Qt4, είναι αξιόλογη γιατί είναι o πλέον cross-platform IDE...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...