inne
unknown
c_cpp
a year ago
3.1 kB
5
Indexable
#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& name, const std::string& lastName, const std::string& address, const double& balance, const int& age, const double& limit, const std::string& login, const std::string& password) { sqlite3* db; const char* tableSQLite = "CREATE TABLE IF NOT EXISTS STANDARD_ACCOUNT (" " ID INT PRIMARY KEY NOT NULL, " " NAME TEXT NOT NULL, " " LAST_NAME TEXT NOT NULL, " " ADDRESS TEXT NOT NULL, " " BALANCE NUMERIC NOT NULL, " " AGE NUMERIC NOT NULL, " " LIMIT NUMERIC NOT NULL, " " LOGIN TEXT NOT NULL, " " PASSWORD TEXT NOT NULL" ");"; const char* insertSQL = "INSERT INTO STANDARD_ACCOUNT (ID, NAME, LAST_NAME, ADDRESS, BALANCE, AGE, LIMIT, LOGIN, PASSWORD) "; 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, NAME, LAST_NAME, ADDRESS, BALANCE, AGE, LIMIT, LOGIN, PASSWORD) " "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, name.c_str(), -1, SQLITE_STATIC); sqlite3_bind_text(stmt, 3, lastName.c_str(), -1, SQLITE_STATIC); sqlite3_bind_text(stmt, 4, address.c_str(), -1, SQLITE_STATIC); sqlite3_bind_double(stmt, 5, balance); sqlite3_bind_int(stmt, 6, age); sqlite3_bind_double(stmt, 7, limit); sqlite3_bind_text(stmt, 8, login.c_str(), -1, SQLITE_STATIC); sqlite3_bind_text(stmt, 9, password.c_str(), -1, SQLITE_STATIC); // 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; }
Editor is loading...
Leave a Comment