create entries
header i sourceunknown
c_cpp
a year ago
3.3 kB
3
Indexable
createEntries.cpp/ #include <stdio.h> #include <iostream> #include <sqlite3.h> #include "../include/createEntries.h" static int callback(void* NotUsed, int argc, char** argv, char** azColName) { for (int i = 0; i < argc; i++) { printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL"); } printf("\n"); return 0; } int createEntry(const int& id, const std::string& password, const std::string& name, const std::string& lastName, const std::string& address, const double& balance,const std::string& age) { sqlite3* db; const char* tableSQLite = "CREATE TABLE IF NOT EXISTS STANDARD_ACCOUNT (" " ID TEXT NOT NULL, " " PASSWORD TEXT NOT NULL, " " NAME TEXT NOT NULL, " " LAST_NAME TEXT NOT NULL, " " ADDRESS TEXT NOT NULL, " " BALANCE NUMERIC NOT NULL, " " AGE TEXT NOT NULL, " ");"; const char* insertSQL = "INSERT INTO STANDARD_ACCOUNT (ID, PASSWORD, NAME, LAST_NAME, ADDRESS, BALANCE, AGE) "; char* zErrMsg = 0; int rc; rc = sqlite3_open(DATABASE_PATH, &db); if (rc) { fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); return 1; } // Execute table creation statement rc = sqlite3_exec(db, tableSQLite, callback, 0, &zErrMsg); if (rc != SQLITE_OK) { fprintf(stderr, "SQL error: %s\n", zErrMsg); sqlite3_free(zErrMsg); sqlite3_close(db); return 1; } // Execute insert statement rc = sqlite3_exec(db, insertSQL, callback, 0, &zErrMsg); if (rc != SQLITE_OK) { fprintf(stderr, "SQL error: %s\n", zErrMsg); sqlite3_free(zErrMsg); sqlite3_close(db); return 1; } const char* insertSQL = "INSERT INTO STANDARD_ACCOUNT (ID, PASSWORD, NAME, LAST_NAME, ADDRESS, BALANCE, AGE) " "VALUES (?, ?, ?, ?, ?, ?, ?);"; sqlite3_stmt* stmt; rc = sqlite3_prepare_v2(db, insertSQL, -1, &stmt, 0); if (rc != SQLITE_OK) { fprintf(stderr, "Failed to prepare statement: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 1; } sqlite3_bind_int(stmt, 1, id); sqlite3_bind_text(stmt, 2, password.c_str(), -1, SQLITE_STATIC); sqlite3_bind_text(stmt, 3, name.c_str(), -1, SQLITE_STATIC); sqlite3_bind_text(stmt, 4, lastName.c_str(), -1, SQLITE_STATIC); sqlite3_bind_double(stmt, 5, address.c_str(), -1, SQLITE_STATIC); sqlite3_bind_int(stmt, 6, balance); sqlite3_bind_double(stmt, 7, age); // Execute the statement rc = sqlite3_step(stmt); if (rc != SQLITE_DONE) { fprintf(stderr, "Execution failed: %s\n", sqlite3_errmsg(db)); } sqlite3_finalize(stmt); sqlite3_close(db); return 0; } createEntries.h/ #pragma once #include <stdio.h> #include <iostream> #include <sqlite3.h> #define DATABASE_PATH "../Bankomat/resources/USERS_DATABASE.db" // chujowy pomysl z absolutna sciezka, ale dziala int createEntry(const int&, const std::string&, const std::string&, const std::string&, const double&, const int&, const double&, const std::string&, const std::string&); <--- do poprawy ten header na koncu
Editor is loading...
Leave a Comment