C++ call sqlite3 interface
Note: Remember to include sqlite source code in your project.
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
1 #include "sqlite3.h"
2 #include <iostream>
3 using namespace std;
4
5 sqlite3* db;
6 char* err;
7
8
9 int CallResult(void *data, int n_columns, char **column_values, char **column_names)
10 {
11 for(int i=0; i<n_columns; i++)
12 {
13 cout << *(column_names+i) << " : ";
14 cout << *(column_values+i) << endl;
15 }
16
17 return 0;
18 }
19
20 int main()
21 {
22 int res = sqlite3_open("E:\\sql.db", &db);
23
24 string strQuery = "create table person(name text, age int);";
25
26 res = sqlite3_exec(db, strQuery.c_str(), 0, 0, &err);
27
28 res = sqlite3_exec(db, "insert into person values('ray', '24');", 0, 0, &err);
29
30 res = sqlite3_exec(db, "insert into person values('summmer', '24');", 0, 0, &err);
31
32 res = sqlite3_exec(db, "select * from person", CallResult, NULL, &err);
33
34 cin.get();
35
36 return 0;
37 }
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
1 #include "sqlite3.h"
2 #include <iostream>
3 using namespace std;
4
5 sqlite3* db;
6 char* err;
7
8
9 int CallResult(void *data, int n_columns, char **column_values, char **column_names)
10 {
11 for(int i=0; i<n_columns; i++)
12 {
13 cout << *(column_names+i) << " : ";
14 cout << *(column_values+i) << endl;
15 }
16
17 return 0;
18 }
19
20 int main()
21 {
22 int res = sqlite3_open("E:\\sql.db", &db);
23
24 string strQuery = "create table person(name text, age int);";
25
26 res = sqlite3_exec(db, strQuery.c_str(), 0, 0, &err);
27
28 res = sqlite3_exec(db, "insert into person values('ray', '24');", 0, 0, &err);
29
30 res = sqlite3_exec(db, "insert into person values('summmer', '24');", 0, 0, &err);
31
32 res = sqlite3_exec(db, "select * from person", CallResult, NULL, &err);
33
34 cin.get();
35
36 return 0;
37 }