Преглед на файлове

almost working, gotta fix insert

logicp преди 5 години
родител
ревизия
358bb4fee8
променени са 3 файла, в които са добавени 7 реда и са изтрити 15 реда
  1. 1 1
      src/CMakeLists.txt
  2. 3 2
      src/interfaces/DatabaseConnection.cpp
  3. 3 12
      src/main.cpp

+ 1 - 1
src/CMakeLists.txt

@@ -11,7 +11,7 @@ project(untitled)
 
 set(CMAKE_CXX_STANDARD 17)
 
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lpqxx -lpq")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -lpqxx -lpq")
 set(PQXX /usr/local/include/pqxx)
 find_library(PQXX_LIB pqxx)
 find_library(PQ_LIB pq)

+ 3 - 2
src/interfaces/DatabaseConnection.cpp

@@ -25,7 +25,7 @@ std::string valuesAsString(std::vector<std::string> values, size_t number_of_fie
   int index = 1;
   for (const auto &value : values) {
     if (index % number_of_fields == 0) {
-      value_string += value + "), (";
+      value_string += "(" + value + ")";
     } else {
       value_string += value + ",";
     }
@@ -37,7 +37,7 @@ std::string valuesAsString(std::vector<std::string> values, size_t number_of_fie
 }
 
 std::string insertStatement(DatabaseQuery query) {
-  return std::string{"INSERT INTO " + query.table + fieldsAsString(query.fields) + valuesAsString(query.values, query.fields.size())};
+  return std::string{"INSERT INTO " + query.table + fieldsAsString(query.fields) + " " + valuesAsString(query.values, query.fields.size())};
 }
 
 std::string selectStatement(DatabaseQuery query) {
@@ -58,6 +58,7 @@ bool DatabaseConnection::setConfig(DatabaseConfiguration config) {
 pqxx::result DatabaseConnection::performInsert (DatabaseQuery query) {
   pqxx::connection connection(getConnectionString().c_str());
   pqxx::work worker(connection);
+  auto insert_statement = insertStatement(query);
   pqxx::result pqxx_result = worker.exec(insertStatement(query));
   worker.commit();
 

+ 3 - 12
src/main.cpp

@@ -67,20 +67,11 @@ stringvec ask_for_values() {
 }
 
 void performQuery(DatabaseConnection* connection) {
-  DatabaseQuery query{};
-  query.type = QueryType::SELECT;
-  query.table = "test";
-  QueryResult result = connection->query(query);
-
-  for (auto row : result.values) {
-    std::cout << row.second << std::endl;
-  }
-
   DatabaseQuery insert_query{};
   insert_query.type = QueryType::INSERT;
   insert_query.table = "test";
-  insert_query.fields = ask_for_fields();
-  insert_query.values = ask_for_values();
+  insert_query.fields = {"value"};
+  insert_query.values = {"1", "2", "3", "4", "5", "6"};
 
   QueryResult insert_result = connection->query(insert_query);
 
@@ -89,7 +80,7 @@ void performQuery(DatabaseConnection* connection) {
   }
 }
 
-int main() {
+int main(int argc, int** argv) {
   DatabaseConnection connection;
   connection.setConfig(getConfiguration());
   performQuery(&connection);