Skip to content

Instantly share code, notes, and snippets.

@lotfio
Created April 30, 2020 21:36
Show Gist options
  • Save lotfio/cfbf857bc96a0487b53ed4877658a97b to your computer and use it in GitHub Desktop.
Save lotfio/cfbf857bc96a0487b53ed4877658a97b to your computer and use it in GitHub Desktop.
c++ sqlite3 create table and insert example
#include <iostream>
// dowload sqlite-amalgamation
// include header and link with sqlite3.o after creating object file from sqlite3.c
#include "../sqlite3/sqlite3.h"
static int callback(void *NotUsed, int argc, char **argv, char **azColName) {
return 0;
}
class Sqlite
{
public:
sqlite3* mydb;
public:
Sqlite(const char* dbname)
{
sqlite3_open(dbname, &mydb);
}
~Sqlite()
{
sqlite3_close(mydb);
}
int execute(const char* sql,int (*callback)(void *, int, char **, char **), char* err = 0)
{
return sqlite3_exec(mydb, sql, callback, 0, &err);
}
};
int main()
{
Sqlite con("db/sql.db");
const char* q = "CREATE TABLE COMPANY(" \
"ID INT PRIMARY KEY NOT NULL," \
"NAME TEXT NOT NULL," \
"AGE INT NOT NULL," \
"ADDRESS CHAR(50)," \
"SALARY REAL );";
con.execute(q, callback);
const char* q2 = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " \
"VALUES (1, 'Paul', 32, 'California', 20000.00 ); " \
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " \
"VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); " \
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)" \
"VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );" \
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)" \
"VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
con.execute(q2, callback);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment