MCPcopy Create free account
hub / github.com/SqliteModernCpp/sqlite_modern_cpp / main

Function main

tests/blob_example.cc:9–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7using namespace std;
8
9int main()
10{
11 try
12 {
13 database db(":memory:");
14
15 db << "CREATE TABLE person (name TEXT, numbers BLOB);";
16 db << "INSERT INTO person VALUES (?, ?)" << "bob" << vector<int> { 1, 2, 3, 4};
17 db << "INSERT INTO person VALUES (?, ?)" << "jack" << vector<char> { '1', '2', '3', '4'};
18 db << "INSERT INTO person VALUES (?, ?)" << "sara" << vector<double> { 1.0, 2.0, 3.0, 4.0};
19
20 vector<int> numbers_bob;
21 db << "SELECT numbers from person where name = ?;" << "bob" >> numbers_bob;
22
23 if(numbers_bob.size() != 4 || numbers_bob[0] != 1
24 || numbers_bob[1] != 2 || numbers_bob[2] != 3 || numbers_bob[3] != 4 ) {
25 cout << "Bad result on line " << __LINE__ << endl;
26 exit(EXIT_FAILURE);
27 }
28 //else { for(auto e : numbers_bob) cout << e << ' '; cout << endl; }
29
30 vector<char> numbers_jack;
31 db << "SELECT numbers from person where name = ?;" << "jack" >> numbers_jack;
32
33 if(numbers_jack.size() != 4 || numbers_jack[0] != '1'
34 || numbers_jack[1] != '2' || numbers_jack[2] != '3' || numbers_jack[3] != '4' ) {
35 cout << "Bad result on line " << __LINE__ << endl;
36 exit(EXIT_FAILURE);
37 }
38 //else { for(auto e : numbers_jack) cout << e << ' '; cout << endl; }
39
40 vector<double> numbers_sara;
41 db << "SELECT numbers from person where name = ?;" << "sara" >> numbers_sara;
42
43 if(numbers_sara.size() != 4 || numbers_sara[0] != 1
44 || numbers_sara[1] != 2 || numbers_sara[2] != 3 || numbers_sara[3] != 4 ) {
45 cout << "Bad result on line " << __LINE__ << endl;
46 exit(EXIT_FAILURE);
47 }
48 //else {
49 //db << "SELECT numbers from person where name = ?;" << "sara" >> [](vector<double> numbers_sara){
50 //for(auto e : numbers_sara) cout << e << ' '; cout << endl;
51 //};
52 //}
53
54 }
55 catch(sqlite_exception e)
56 {
57 cout << "Unexpected error " << e.what() << endl;
58 exit(EXIT_FAILURE);
59 }
60 catch(...)
61 {
62 cout << "Unknown error\n";
63 exit(EXIT_FAILURE);
64 }
65
66 cout << "OK\n";

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected