1. Συμπεριλάβετε κεφαλίδες:
`` `c
#include
#include
#include
#συμπεριλαμβάνω
`` `
2. Δημιουργία σύνδεσης:
Αυτός είναι ο πυρήνας της διαδικασίας. Θα χρειαστείτε μια συμβολοσειρά σύνδεσης που καθορίζει τις παραμέτρους της βάσης δεδομένων.
`` `c
Pgconn *conn;
const char *conninfo;
conninfo ="dbname =myDatabase user =myuser cassword =myPassword host =localHost port =5432"; // Αντικαταστήστε με τα στοιχεία σας
Conn =pqconnectDB (Conninfo);
αν (pqstatus (conn)! =connection_ok) {
fprintf (stderr, "Η σύνδεση με τη βάση δεδομένων απέτυχε:%s", pqerrormessage (conn));
Pqfinish (Conn);
έξοδος (1);
}
`` `
* `dbname =myDatabase`: Το όνομα της βάσης δεδομένων PostgResql.
* `user =myuser`: Το όνομα χρήστη PostgreSQL.
* `password =myPassWord`: Ο κωδικός πρόσβασης PostgreSQL.
* `host =localhost`: Το όνομα κεντρικού υπολογιστή ή τη διεύθυνση IP του διακομιστή PostgResQL. Αλλάξτε εάν η βάση δεδομένων σας δεν είναι τοπική.
* `port =5432`: Ο αριθμός θύρας PostgreSQL ακούει (προεπιλογή είναι 5432).
3. Εκτελέστε ερωτήματα:
Μετά τη σύνδεση, μπορείτε να εκτελέσετε ερωτήματα SQL. Αυτό το παράδειγμα δείχνει ένα απλό ερώτημα `select`
`` `c
Pgresult *res;
res =pQExec (conn, "επιλέξτε έκδοση ();");
αν (pqresultStatus (res)! =pgres_tuples_ok) {
fprintf (stderr, "Επιλέξτε απέτυχε:%s", pqerrormessage (conn));
Pqclear (res);
Pqfinish (Conn);
έξοδος (1);
}
printf ("postgresql έκδοση:%s \ n", pqgetValue (res, 0, 0));
Pqclear (res); // ελευθερώστε τη μνήμη ρύθμισης αποτελεσμάτων
`` `
* `pqexec (conn," επιλέξτε έκδοση (); ")`: Εκτελεί το ερώτημα SQL.
* `pqresultstatus (res)`: Ελέγχει την κατάσταση της εκτέλεσης του ερωτήματος. Το `pgres_tuples_ok` δείχνει την επιτυχία.
* `pqgetValue (res, 0, 0)`: Ανακτά την τιμή από το σύνολο αποτελεσμάτων. `(0, 0)` Καθορίζει την πρώτη σειρά (0) και την πρώτη στήλη (0).
4. Χειριστείτε άλλους τύπους ερωτημάτων (Εισαγωγή, Ενημέρωση, Διαγραφή):
Για τα ερωτήματα `insert`,` update 'και `delete`, θα ελέγχετε συνήθως` pqcmdtuples` για να δείτε πόσες σειρές επηρεάστηκαν.
`` `c
res =pqexec (conn, "Εισαγάγετε τις τιμές mytable (στήλη1, στήλη2) ('value1', 'value2');");
αν (pqresultStatus (res) ==pgres_command_ok) {
printf ("εισάγετε επιτυχή.
} αλλιώς {
fprintf (stderr, "Εισαγωγή απέτυχε:%s", pqerrormessage (conn));
}
Pqclear (res);
`` `
5. Κλείστε τη σύνδεση:
Κλείστε πάντα τη σύνδεση όταν τελειώσετε.
`` `c
Pqfinish (Conn);
`` `
Πλήρες παράδειγμα:
`` `c
#include
#include
#include
#συμπεριλαμβάνω
int main () {
Pgconn *conn;
const char *conninfo;
Pgresult *res;
conninfo ="dbname =myDatabase user =myuser cassword =myPassword host =localHost port =5432"; // Αντικαταστήστε με τα στοιχεία σας
Conn =pqconnectDB (Conninfo);
αν (pqstatus (conn)! =connection_ok) {
fprintf (stderr, "Η σύνδεση με τη βάση δεδομένων απέτυχε:%s", pqerrormessage (conn));
έξοδος (1);
}
res =pQExec (conn, "επιλέξτε έκδοση ();");
αν (pqresultStatus (res)! =pgres_tuples_ok) {
fprintf (stderr, "Επιλέξτε απέτυχε:%s", pqerrormessage (conn));
Pqclear (res);
Pqfinish (Conn);
έξοδος (1);
}
printf ("postgresql έκδοση:%s \ n", pqgetValue (res, 0, 0));
Pqclear (res);
Pqfinish (Conn);
επιστροφή 0;
}
`` `
πριν από τη σύνταξη:
* Εγκαταστήστε το libpq-dev: Θα χρειαστεί να εγκαταστήσετε τις βιβλιοθήκες ανάπτυξης πελατών PostgreSQL. Στα συστήματα Debian/Ubuntu, αυτό γίνεται συνήθως με:`sudo apt-get install libpq-dev '
* compile: Συγκεντρώστε τον κωδικό σας χρησιμοποιώντας έναν μεταγλωττιστή C (όπως GCC):`GCC your_program_name.c -lpq -o your_program_name`
Θυμηθείτε να αντικαταστήσετε τις τιμές συμβολοσειρών σύνδεσης σύνδεσης με τα πραγματικά διαπιστευτήρια βάσης δεδομένων. Ο διεξοδικός χειρισμός σφαλμάτων είναι ζωτικής σημασίας στον κώδικα παραγωγής για την πρόληψη απροσδόκητων συγκρούσεων. Αυτό το παράδειγμα παρέχει βασικό έλεγχο σφαλμάτων. Θα χρειαζόταν πιο ισχυρός χειρισμός σφαλμάτων για μια πραγματική εφαρμογή.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα