Home »
C programs »
C SQLite programs
C program to get records from a database table in SQLite
Here, we are going to write a C program to get records from a database table in SQLite.
By Nidhi Last updated : March 10, 2024
Prerequisites
The following packages need to be installed in the ubuntu machine for Sqlite connectivity using the C program.
sudo apt install sqlite3
sudo apt install gcc
sudo apt install libsqlite3-dev
Problem Solution
In this program, we will get records from the employee table using source code and print all records on the console screen.
Program/Source Code
The source code to get records from a database table in SQLite is given below. The given program is compiled and executed successfully on Ubuntu 20.04.
//C program to get records from a database table in SQLite.
#include <sqlite3.h>
#include <stdio.h>
int main(void)
{
sqlite3* db_ptr;
sqlite3_stmt* stmt;
char* errMesg = 0;
int ret = 0;
ret = sqlite3_open("MyDb.db", &db_ptr);
if (ret != SQLITE_OK) {
printf("Database opening error\n");
}
char* sql_stmt = "SELECT * FROM Employee";
ret = sqlite3_prepare_v2(db_ptr, sql_stmt, -1, &stmt, 0);
if (ret != SQLITE_OK) {
printf("\nUnable to fetch data");
sqlite3_close(db_ptr);
return 1;
}
printf("Employee records\n");
while (sqlite3_step(stmt) == SQLITE_ROW) {
printf("%s %s %s\n", sqlite3_column_text(stmt, 0), sqlite3_column_text(stmt, 1), sqlite3_column_text(stmt, 2));
}
sqlite3_finalize(stmt);
sqlite3_close(db_ptr);
return 0;
}
Output
$ gcc select.c -o select -lsqlite3 -std=c99
$ ./select
Employee records
101 Amit 15000
102 Arun 20000
103 Anup 22000
104 Ramu 9000
Explanation
In the above program, we included the sqlite3.h header file to uses SQLite related functions. Here, we get records of the employee table in the "MyDb.db" database.
The above function is used to compile the "SELECT" statement.
ret = sqlite3_step(stmt);
The above function is used to execute the specified select statement and get the resulted record.
while(sqlite3_step(stmt)==SQLITE_ROW)
{
printf("%s %s %s\n", sqlite3_column_text(stmt, 0),
sqlite3_column_text(stmt, 1),
sqlite3_column_text(stmt, 2));
}
In the above code, we get records from the employee table one by one and then print employee records on the console screen.
sqlite3_finalize(stmt);
sqlite3_close(db_ptr);
The above functions are used to close database properly.
C SQLite Programs »