1. Includi intestazioni:
`` `c
#include
#include
#include
#include
`` `
2. Stabilire la connessione:
Questo è il nucleo del processo. Avrai bisogno di una stringa di connessione che specifica i parametri del database.
`` `c
Pgconn *conn;
const char *conninfo;
ConnInfo ="dbname =myDatabase user =myuser password =mypassword host =localhost port =5432"; // Sostituisci con i tuoi dettagli
conn =pqConnectDB (ConnInfo);
if (pqstatus (conn)! =connection_ok) {
fprintf (stderr, "connessione al database non riuscita:%s", pqerrormessage (conn));
Pqfinish (conn);
uscita (1);
}
`` `
* `dbname =mydatabase`: Il nome del tuo database PostgreSQL.
* `user =myuser`: Il tuo nome utente postgreSQL.
* `password =mypassword`: La tua password PostgreSQL.
* `host =localhost`: Il nome host o l'indirizzo IP del server PostgreSQL. Modifica se il tuo database non è locale.
* `port =5432`: Il numero di porta PostgreSQL sta ascoltando (il valore predefinito è 5432).
3. Esegui query:
Dopo la connessione, è possibile eseguire query SQL. Questo esempio mostra una semplice query `select`:
`` `c
PGRESULT *RES;
res =pqexec (conn, "select versione ();");
if (pqresultstatus (res)! =pgres_tuples_ok) {
fprintf (stderr, "seleziona non riuscita:%s", pqerrormessage (conn));
Pqclear (res);
Pqfinish (conn);
uscita (1);
}
printf ("versione postgresql:%s \ n", pqgetvalue (res, 0, 0));
Pqclear (res); // liberi la memoria set di risultati
`` `
* `pqexec (conn," select versione (); ")`: Esegue la query SQL.
* `pqresultstatus (res)`: Controlla lo stato dell'esecuzione delle query. `Pgres_tuples_ok` indica il successo.
* `pqgetvalue (res, 0, 0)`: Recupera il valore dal set di risultati. `(0, 0)` Specifica la prima riga (0) e la prima colonna (0).
4. Gestisci altri tipi di query (inserisci, aggiorna, elimina):
Per query `insert`,` update` e `delete`, in genere controllerai` pqcmdtuples` per vedere quante righe sono state interessate.
`` `c
Res =pqexec (Conn, "Inserisci nei valori MyTable (column1, column2) ('valore1', 'valore2');");
if (pqresultstatus (res) ==pgres_command_ok) {
printf ("Inserisci successo. %LD righe interessate \ n", pqcmdtuples (res));
} altro {
fprintf (Stderr, "Inserisci fallito:%s", pqerrormessage (conn));
}
Pqclear (res);
`` `
5. Chiudi la connessione:
Chiudi sempre la connessione quando hai finito.
`` `c
Pqfinish (conn);
`` `
Esempio completo:
`` `c
#include
#include
#include
#include
int main () {
Pgconn *conn;
const char *conninfo;
PGRESULT *RES;
ConnInfo ="dbname =myDatabase user =myuser password =mypassword host =localhost port =5432"; // Sostituisci con i tuoi dettagli
conn =pqConnectDB (ConnInfo);
if (pqstatus (conn)! =connection_ok) {
fprintf (stderr, "connessione al database non riuscita:%s", pqerrormessage (conn));
uscita (1);
}
res =pqexec (conn, "select versione ();");
if (pqresultstatus (res)! =pgres_tuples_ok) {
fprintf (stderr, "seleziona non riuscita:%s", pqerrormessage (conn));
Pqclear (res);
Pqfinish (conn);
uscita (1);
}
printf ("versione postgresql:%s \ n", pqgetvalue (res, 0, 0));
Pqclear (res);
Pqfinish (conn);
restituzione 0;
}
`` `
Prima di compilare:
* Installa libpq-dev: Dovrai installare le librerie di sviluppo client PostgreSQL. Sui sistemi Debian/Ubuntu, questo di solito viene fatto con:`sudo apt-get Installa libpq-dev`
* Compila: Compila il codice utilizzando un compilatore C (come GCC):`GCC your_program_name.c -lpq -o your_program_name`
Ricorda di sostituire i valori della stringa di connessione segnaposto con le credenziali del database effettive. Una gestione completa degli errori è cruciale nel codice di produzione per prevenire arresti anomali imprevisti. Questo esempio fornisce il controllo degli errori di base; Sarebbe necessaria una gestione degli errori più robusta per un'applicazione del mondo reale.
Informazioni correlate
software © www.354353.com