Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <sqlite3.h>
- #include <dirent.h>
- #include <cstring>
- using namespace std;
- int main() {
- sqlite3* conn;
- sqlite3_stmt* res;
- int rc = sqlite3_open("C:\\Users\\User\\Desktop\\Work\\DATABASE\\test.db", &conn);
- if (rc != SQLITE_OK) {
- cerr << "Error opening database: " << sqlite3_errmsg(conn) << endl;
- sqlite3_close(conn);
- return 1;
- }
- else {
- cout << "Opened database successfully\n";
- }
- const char* folder_path = "C:\\Users\\User\\Desktop\\Work\\DATABASE\\tg\\f";
- DIR* dir = opendir(folder_path);
- struct dirent* entry;
- while ((entry = readdir(dir)) != NULL) {
- if (entry->d_type == DT_REG) {
- cout << entry->d_name << endl;
- string db_path = folder_path + string(entry->d_name);
- sqlite3* part_conn;
- rc = sqlite3_open(db_path.c_str(), &part_conn);
- if (rc != SQLITE_OK) {
- cerr << "Error opening database: " << sqlite3_errmsg(part_conn) << endl;
- sqlite3_close(part_conn);
- sqlite3_close(conn);
- return 1;
- }
- sqlite3_stmt* part_res;
- rc = sqlite3_prepare_v2(part_conn, "SELECT * FROM users", -1, &part_res, 0);
- if (rc != SQLITE_OK) {
- cerr << "Error preparing statement: " << sqlite3_errmsg(part_conn) << endl;
- sqlite3_close(part_conn);
- sqlite3_close(conn);
- return 1;
- }
- while (sqlite3_step(part_res) == SQLITE_ROW) {
- int id = sqlite3_column_int(part_res, 0);
- const char* name = (const char*)sqlite3_column_text(part_res, 1);
- const char* email = (const char*)sqlite3_column_text(part_res, 2);
- const char* phone = (const char*)sqlite3_column_text(part_res, 3);
- const char* username = (const char*)sqlite3_column_text(part_res, 4);
- sqlite3_stmt* result_res;
- rc = sqlite3_prepare_v2(conn, "SELECT * FROM users WHERE id=?", -1, &result_res, 0);
- if (rc != SQLITE_OK) {
- cerr << "Error preparing statement: " << sqlite3_errmsg(conn) << endl;
- sqlite3_close(part_conn);
- sqlite3_close(conn);
- return 1;
- }
- sqlite3_bind_int(result_res, 1, id);
- if (sqlite3_step(result_res) == SQLITE_ROW) {
- sqlite3_stmt* update_res;
- rc = sqlite3_prepare_v2(conn, "UPDATE users SET name=?, email=?, phone=?, username=? WHERE id=?", -1, &update_res, 0);
- if (rc != SQLITE_OK) {
- cerr << "Error preparing statement: " << sqlite3_errmsg(conn) << endl;
- sqlite3_close(part_conn);
- sqlite3_close(conn);
- return 1;
- }
- sqlite3_bind_text(update_res, 1, name, -1, SQLITE_STATIC);
- sqlite3_bind_text(update_res, 2, email, -1, SQLITE_STATIC);
- sqlite3_bind_text(update_res, 3, phone, -1, SQLITE_STATIC);
- sqlite3_bind_text(update_res, 4, username, -1, SQLITE_STATIC);
- sqlite3_bind_int(update_res, 5, id);
- sqlite3_step(update_res);
- sqlite3_finalize(update_res);
- }
- else {
- sqlite3_stmt* insert_res;
- rc = sqlite3_prepare_v2(conn, "INSERT INTO users VALUES (?, ?, ?, ?, ?)", -1, &insert_res, 0);
- if (rc != SQLITE_OK) {
- cerr << "Error preparing statement: " << sqlite3_errmsg(conn) << endl;
- sqlite3_close(part_conn);
- sqlite3_close(conn);
- return 1;
- }
- sqlite3_bind_int(insert_res, 1, id);
- sqlite3_bind_text(insert_res, 2, name, -1, SQLITE_STATIC);
- sqlite3_bind_text(insert_res, 3, email, -1, SQLITE_STATIC);
- sqlite3_bind_text(insert_res, 4, phone, -1, SQLITE_STATIC);
- sqlite3_bind_text(insert_res, 5, username, -1, SQLITE_STATIC);
- sqlite3_step(insert_res);
- sqlite3_finalize(insert_res);
- }
- sqlite3_finalize(result_res);
- }
- sqlite3_finalize(part_res);
- sqlite3_close(part_conn);
- }
- }
- closedir(dir);
- sqlite3_close(conn);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement