C/C++

1 h Niveau 10

Ce tutoriel va utiliser la bibliothèque libpqxx, qui est l'API client C++ officielle de PostgreSQL. Le code source de libpqxx est disponible sous la licence BSD, vous êtes donc libre de le télécharger, de le transmettre à d'autres, de le modifier, de le vendre, de l'inclure dans votre propre code et de partager vos modifications avec qui vous voulez.

Installation

La dernière version de libpqxx est disponible pour être téléchargée à partir du lien Télécharger Libpqxx. Alors, téléchargez la dernière version et suivez les étapes suivantes :

wget http://pqxx.org/download/software/libpqxx/libpqxx-4.0.tar.gz
tar xvfz libpqxx-4.0.tar.gz
cd libpqxx-4.0
./configure
make
make install

Avant de commencer à utiliser l'interface PostgreSQL C/C++, trouvez le fichier pg_hba.conf dans votre répertoire d'installation de PostgreSQL et ajoutez la ligne suivante :

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5

Vous pouvez démarrer/redémarrer le serveur postgres s'il n'est pas en cours d'exécution à l'aide de la commande suivante -

[root@host]# service postgresql restart
Stopping postgresql service:                               [  OK  ]
Starting postgresql service:                               [  OK  ]

C/C++ Interface APIs

Les éléments suivants sont des routines d'interface importantes qui peuvent répondre à votre besoin de travailler avec la base de données PostgreSQL depuis votre programme C/C++. Si vous cherchez une application plus sophistiquée, vous pouvez consulter la documentation officielle de libpqxx ou utiliser les API disponibles dans le commerce.

API & Description

  • pqxx::connection C( const std::string & dbstring ) - Il s'agit d'un typedef qui sera utilisé pour se connecter à la base de données. Ici, dbstring fournit les paramètres nécessaires pour se connecter à la base de données, par exemple dbname=testdb user=postgres password=pass123 hostaddr=127.0.0.1 port=5432. Si la connexion est établie avec succès, le programme crée un objet de connexion C qui fournit diverses fonctions publiques utiles.
  • C.is_open() - La méthode is_open() est une méthode publique de l'objet connexion et renvoie une valeur booléenne. Si la connexion est active, alors cette méthode renvoie true, sinon elle renvoie false.
  • C.disconnect() - Cette méthode est utilisée pour déconnecter une connexion ouverte à une base de données.
  • pqxx::work W( C ) - Il s'agit d'un typedef qui sera utilisé pour créer un objet transactionnel en utilisant la connexion C, qui sera finalement utilisé pour exécuter des instructions SQL en mode transactionnel. Si l'objet transactionnel est créé avec succès, alors il est assigné à la variable W qui sera utilisée pour accéder aux méthodes publiques liées à l'objet transactionnel.
  • W.exec(const std::string & sql) - Cette méthode publique de l'objet transactionnel sera utilisée pour exécuter la déclaration SQL.
  • W.commit() - Cette méthode publique de l'objet transactionnel sera utilisée pour valider la transaction.
  • W.abort() - Cette méthode publique de l'objet transactionnel sera utilisée pour annuler la transaction.
  • pqxx::nontransaction N( C ) - Il s'agit d'un typedef qui sera utilisé pour créer un objet non transactionnel en utilisant la connexion C, qui sera finalement utilisé pour exécuter des instructions SQL en mode non transactionnel. Si l'objet transactionnel est créé avec succès, alors il est assigné à la variable N qui sera utilisée pour accéder aux méthodes publiques liées à l'objet non-transactionnel.
  • N.exec(const std::string & sql) - Cette méthode publique d'un objet non transactionnel sera utilisée pour exécuter une instruction SQL et retourner un objet résultat qui est en fait un interator contenant tous les enregistrements retournés.

Connexion à la base de données

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus