wip to infer parameters type
[sqlgg.git] / test_cpp / test.cpp
blobb351fec5ca9ab14f2733ee8b9c016d862b4bcd0c
1 //
3 #include "../sqlite3_helper.hpp"
4 #include "test.hpp"
5 #include <boost/foreach.hpp>
6 #include <iostream>
7 #include <vector>
9 using namespace std;
11 typedef sql2cpp<sqlite3_traits> gen;
14 void to_console(const wchar_t* s)
16 HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
18 DWORD ignore;
19 WriteConsoleW(console, s, wcslen(s), &ignore, NULL);
22 void to_console(const std::wstring& s)
24 to_console(s.c_str());
28 void explain(char const* msg, sqlite3* db)
30 cout << msg << " : " /*<< sqlite3_errcode(db) << " "*/ << sqlite3_errmsg(db) << endl;
33 int main()
35 sqlite3* db = NULL;
36 int nResult = SQLITE_OK;
38 nResult = sqlite3_open("test.db", &db);
39 explain("open",db);
41 nResult = sqlite3_exec(db,"DROP TABLE test;",NULL,NULL,NULL);
42 explain("drop",db);
44 nResult = gen::create(db);
45 explain("create",db);
48 gen::data_1 t;
49 t.name="c++";
50 t.descr="ugly";
51 nResult = gen::Add(db,t);
52 cout << "insert : " << nResult << " " << sqlite3_errmsg(db) << endl;
54 nResult = gen::Add(db,"c++","ugly");
55 explain("insert",db);
57 nResult = gen::Add(db,"c","hard");
58 explain("insert",db);
60 nResult = gen::Add(db,"ocaml","wonderful");
61 explain("insert",db);
63 nResult = gen::Exaggerate(db,"really");
64 explain("update",db);
66 std::vector<gen::data_1> all;
67 nResult = gen::select_all(db,all);
68 explain("select",db);
70 BOOST_FOREACH(gen::data_1 const& q, all)
72 std::cout << q.id << ") " << q.name << " is " << q.descr << std::endl;
75 gen::create_loc(db);
76 explain("create_loc",db);
78 nResult = gen::create_zuzu(db,"qq");
79 explain("create_zuzu",db);
81 nResult = sqlite3_close(db);
82 cout << "close : " << nResult << endl;
84 return 0;