Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Database {
- sqlite3* db = 0; // хэндл объекта соединение к БД
- char* err = 0;
- const char* unused;//хрень нужная для работы функции
- string sqls;
- const char* SQL;
- public:
- void create_table(string table_name) {
- sqls = "CREATE TABLE IF NOT EXISTS " + table_name + " (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name TEXT NOT NULL, activity INTEGER NOT NULL, task TEXT NOT NULL);INSERT INTO "+ table_name +" (name, activity,task) VALUES('Toha', 0,'cfghjk'); INSERT INTO " + table_name + " (name, activity,task) VALUES('Miha', 1,'jkhgf'); ";
- SQL = sqls.c_str();
- // открываем соединение
- int rc = sqlite3_open("test3.db", &db);
- if (rc) cout<< "Can't open/create datase "<< sqlite3_errmsg(db);
- // выполняем SQL
- else if (sqlite3_exec(db, SQL, 0, 0, &err))
- {
- cout << "Wrong SQL-query: " << err;
- sqlite3_free(err);
- }
- }
- //callback внутри класса не фурычит,че далеть
- int callback(void* unused, int argc, char** argv, char** azColName) {
- int i;
- //fprintf(stderr, "%s: ", (const char*)data);
- for (i = 0; i < argc; i++) {
- printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
- //cout << azColName[i] << " = " << argv[i] <<'\n';
- //cout << endl;
- }
- printf("\n");
- return 0;
- }
- void show(string table_name) {
- int callback(void*, int, char**, char**);
- sqls = "SELECT * FROM " + table_name;
- SQL = sqls.c_str();
- int rc = sqlite3_exec(db, SQL, callback, (void*)unused, &err);
- if (rc != SQLITE_OK) {
- fprintf(stderr, "SQL error: %s\n", err);
- sqlite3_free(err);
- }
- else {
- fprintf(stdout, "Operation done successfully\n");
- }
- }
- void close() {
- sqlite3_close(db);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment