changeset 44:8fb2230fe860

Do not attempt to create the SQL tables if they already exist.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 06 Apr 2017 15:13:30 +0300
parents 179e7df4dc80
children acc235907fab
files main.cpp
diffstat 1 files changed, 22 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/main.cpp	Thu Apr 06 14:52:57 2017 +0300
+++ b/main.cpp	Thu Apr 06 15:13:30 2017 +0300
@@ -83,7 +83,7 @@
 
 
 //
-//
+// Get PersonInfo record from SQL database for specified persn ID #
 //
 bool getPersonInfo(qint64 id, PersonInfo &info)
 {
@@ -169,24 +169,30 @@
     }
 
     QSqlQuery query;
-    query.exec(QStringLiteral(
-        "CREATE TABLE people (id INTEGER PRIMARY KEY, "
-        "first_name VARCHAR(128) NOT NULL, "
-        "last_name VARCHAR(128) NOT NULL, "
-        "extra_info VARCHAR(2048), "
-        "added DATETIME NOT NULL, "
-        "updated DATETIME NOT NULL)"));
+    if (!db.tables().contains("people"))
+    {
+        query.exec(QStringLiteral(
+            "CREATE TABLE people (id INTEGER PRIMARY KEY, "
+            "first_name VARCHAR(128) NOT NULL, "
+            "last_name VARCHAR(128) NOT NULL, "
+            "extra_info VARCHAR(2048), "
+            "added DATETIME NOT NULL, "
+            "updated DATETIME NOT NULL)"));
 
-    checkAndReportSQLError("CREATE TABLE people", query.lastError());
+        checkAndReportSQLError("CREATE TABLE people", query.lastError());
+    }
 
-    query.exec(QStringLiteral(
-        "CREATE TABLE transactions ("
-        "id INTEGER PRIMARY KEY, "
-        "person INT NOT NULL, "
-        "value REAL, "
-        "added DATETIME NOT NULL)"));
+    if (!db.tables().contains("transactions"))
+    {
+        query.exec(QStringLiteral(
+            "CREATE TABLE transactions ("
+            "id INTEGER PRIMARY KEY, "
+            "person INT NOT NULL, "
+            "value REAL, "
+            "added DATETIME NOT NULL)"));
 
-    checkAndReportSQLError("CREATE TABLE transactions", query.lastError());
+        checkAndReportSQLError("CREATE TABLE transactions", query.lastError());
+    }
 
     SyntilistaMainWindow swin;
     swin.show();