Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako pripojíte databázu Postgress SQL v C?

Pripojenie k databáze PostgreSQL z C si vyžaduje použitie knižnice LIBPQ. Tu je zrútenie toho, ako to urobiť, spolu s vysvetleniami a spracovaním chýb:

1. Zahrňte hlavičky:

`` C

#include

#include

#include

#vrátane // Hlavička knižnice klientov Postgresql

`` `

2. Nadviazať spojenie:

Toto je jadro procesu. Budete potrebovať reťazec pripojenia, ktorý určuje parametre databázy.

`` C

Pgconn *conn;

Const Char *Conninfo;

conninfo ="dbname =myDatabase user =myuser heslo =mySpassword host =localhost port =5432"; // Vymeňte svoje podrobnosti

conn =pQConnectDB (conninfo);

if (pqstatus (conn)! =connection_ok) {

fprintf (stderr, „Pripojenie k databáze zlyhalo:%s“, pqerrormessage (conn));

Pqfinish (conn);

Výstup (1);

}

`` `

* `dbname =myDatabase`: Názov vašej databázy PostgreSQL.

* `user =myuser`: Vaše používateľské meno PostgreSQL.

* `heslo =myPassword`: Vaše heslo PostgreSQL.

* `host =localhost`: Názov hostiteľa alebo IP adresa servera PostgreSQL. Zmeňte, ak vaša databáza nie je miestna.

* `port =5432`: Číslo portu PostgreSQL počúva (predvolená hodnota je 5432).

3. Vykonajte dotazy:

Po pripojení môžete vykonať dotazy SQL. Tento príklad zobrazuje jednoduchý dotaz „Select“:

`` C

Pgresult *res;

res =pqexec (conn, "select verzia ();");

if (pqResultStatus (res)! =pgres_tuples_ok) {

fprintf (stderr, „Select zlyhal:%s“, pqerrormessage (conn));

Pqclear (res);

Pqfinish (conn);

Výstup (1);

}

printf ("Postgresql verzia:%s \ n", pqgetValue (res, 0, 0));

Pqclear (res); // ZADARMO Pamäť s výsledkami

`` `

* `pqexec (conn," select verzia (); ")`: Vykonáva dotaz SQL.

* `pqresultStatus (res)`: Skontroluje stav vykonávania dopytu. `Pgres_tuples_ok` označuje úspech.

* `pqgetValue (res, 0, 0)`: Načíta hodnotu zo súboru výsledkov. `(0, 0)` Určuje prvý riadok (0) a prvý stĺpec (0).

4. Zvládajte ďalšie typy dotazov (vložiť, aktualizovať, odstrániť):

Pre `insert`,` updaten` a `delete` dotazy zvyčajne skontrolujete` pqcmdtUples`, aby ste videli, koľko riadkov bolo ovplyvnených.

`` C

res =pQExec (conn, "insert do MyTable (Column1, Column2) hodnôt ('value1', 'value2');");

if (pqResultStatus (res) ==pgres_command_ok) {

printf („Vložte úspešné.

} else {

fprintf (stderr, „vložka zlyhala:%s“, pqerrormessage (conn));

}

Pqclear (res);

`` `

5. Zatvorte pripojenie:

Po dokončení vždy zatvorte pripojenie.

`` C

Pqfinish (conn);

`` `

Kompletný príklad:

`` C

#include

#include

#include

#vrátane

int main () {

Pgconn *conn;

Const Char *Conninfo;

Pgresult *res;

conninfo ="dbname =myDatabase user =myuser heslo =mySpassword host =localhost port =5432"; // Vymeňte svoje podrobnosti

conn =pQConnectDB (conninfo);

if (pqstatus (conn)! =connection_ok) {

fprintf (stderr, „Pripojenie k databáze zlyhalo:%s“, pqerrormessage (conn));

Výstup (1);

}

res =pqexec (conn, "select verzia ();");

if (pqResultStatus (res)! =pgres_tuples_ok) {

fprintf (stderr, „Select zlyhal:%s“, pqerrormessage (conn));

Pqclear (res);

Pqfinish (conn);

Výstup (1);

}

printf ("Postgresql verzia:%s \ n", pqgetValue (res, 0, 0));

Pqclear (res);

Pqfinish (conn);

návrat 0;

}

`` `

Pred kompiláciou:

* Nainštalujte libpq-dev: Budete musieť nainštalovať knižnice rozvoja klienta PostgreSQL. V systémoch Debian/Ubuntu sa to zvyčajne deje s:`sudo apt-get inštalovať libpq-dev`

* kompil: Zostavte svoj kód pomocou kompilátora C (napríklad GCC):`GCC your_program_name.c -lpq -o your_program_name`

Nezabudnite nahradiť hodnoty reťazca zástupného symbolu svojimi skutočnými povereniami databázy. Dôkladné spracovanie chýb je v výrobnom kóde rozhodujúce, aby sa zabránilo neočakávaným nehodám. Tento príklad poskytuje základnú kontrolu chýb; Pre aplikáciu v reálnom svete by bolo potrebné robustnejšie spracovanie chýb.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené