C++ComponentsDatabaseLearn C++

Learn To Use PostgreSQL Database Connections With C++

PostgreSQL is another popular database which is powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance You can install and use PostgreSQL through the official documentation. They have also support with PostgreSQL Community, it provides many helpful places to become familiar with the technology, discover how it works, and find career opportunities. here.

FireDAC component pack is one of the great component for database connections that comes with RAD Studio, C++ Builder or Delphi officially. FireDAC is a Universal Data Access library for developing applications for multiple devices, connected to enterprise databases. With its powerful universal architecture, FireDAC enables native high-speed direct access from Delphi and C++Builder to InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, DataSnap and more, including the NoSQL Database MongoDB.

FireDAC is a Universal Enterprise Data Connectivity

To use FireDAC with C++ Builder, be sure that your RAD Studio, C++ Builder version has support to this component, we highly recommend here C++ Builder 10.x or above because of improvements on database connections. If you dont have this component in you version there is a Trial version of FireDAC officially that you can test and then you can purchase. In a new C++ Builder Project (VCL or FMX), you can drag and use it’s components on your forms, or professionally you can add a new DataModule to your project and you can drag and use them by adding it’s header to other required forms.

If you created a PostgreSQL database with a table and you have installed FireDAC Components in your Component Palette, Let’s see steps to connect to a PostgreSQL database and query a table.

1. Create a new C++ Builder Project in VCL or FMX.

2. Basically to connect to a database table in a PostgreSQL server, we need 4 FireDAC Components . Drag FDConnection (TFDConnection), DataSource (TDataSource) , FDQuery (TFDQuery), FDCommand (TFDCommand) components on to your Form (TForm).

3. Set Connection property of FDQuery1 as FDConnection1
and Set DataSet property of DataSource1 to FDQuery1

4. Double click to FDConnection component to enter postgreSQL server connection details.

Enter parameters as below;

Driver ID:
We will connect to PostgreSQL database, so Driver ID should be PG
Server:
If you connect to a remote PostgreSQL Server type its PostgreSQL IP or PostgreSQL address
If you connect to a server on your computer- type localhost or your computer IP address
Port:
It is generally 5432, if you or your host setup a different port number check your port number from PostgreSQL administration or host settings.
Username and Password:
If you haven’t create any username for your specific table, including with user privileges, you can use root and it’s password. If you have username for this table, you can use this username and it’s password to connect.

That’s all, now you can check your connection directly by enabling or disabling it’s Connected feature.

5. Now you can directly connect in C++ Builder with this component by using FDConnection1 component property as below;

You can check if it is connected by if clauses as below

For example you can do this on a button as below;

6. PostgreSQL using its own SQL language to query tables in it’s database, for example if you have a table with a name mytable, you can list all data by using this query

This query can be directly added to SQL property of FDQuery1 by double clicking to FDQuery1,

or, you can add your own SQL query in your code lines by double clicking to a Button, as below;

Full video about this application FireDAC can be found here Introduction to FireDAC – Multi-device data access for Delphi and C++Builder

First Steps to Use FireDAC
http://docwiki.embarcadero.com/RADStudio/Sydney/en/First_Steps_to_Use_FireDAC

Oh hi there 👋
It’s nice to meet you.

Sign up to receive awesome C++ content in your inbox, every day.

We don’t spam! Read our privacy policy for more info.


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial

Free C++Builder Community Edition

About author

Dr. Yilmaz Yoru has 35+ years of coding with more than 30+ programming languages, mostly C++ on Windows, Android, Mac-OS, iOS, Linux, and some other operating systems. He graduated and received his MSc and PhD degrees from the Department of Mechanical Engineering of Eskisehir Osmangazi University. He is the founder and CEO of ESENJA LLC Company. His interests are Programming, Thermodynamics, Fluid Mechanics, Artificial Intelligence, 2D & 3D Designs, and high-end innovations.
Related posts
C++C++11C++14C++17C++20

What Is The Stack (std::stack) In Modern C++?

C++C++11C++14C++17C++20Learn C++

What Is The Queue (std::queue) In Modern C++?

C++C++11C++14C++17Learn C++SyntaxTemplates

What Are The Logical Operation Metafunctions In Modern C++?

C++C++14C++17C++20Learn C++

What Are The Deprecated C++14 Features In C++17?

Worth reading...
Learn How To Build A Modern C++ “Hello World” Example For Windows