add dbuConnectionExec

Sun, 16 Feb 2025 09:30:18 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 16 Feb 2025 09:30:18 +0100
changeset 12
421555fa9ce4
parent 11
0aa8cbd7912e
child 13
cf0b13708fd9

add dbuConnectionExec

dbutils/db.c file | annotate | diff | comparison | revisions
dbutils/dbutils/db.h file | annotate | diff | comparison | revisions
test/main.c file | annotate | diff | comparison | revisions
--- a/dbutils/db.c	Sat Jan 04 13:03:01 2025 +0100
+++ b/dbutils/db.c	Sun Feb 16 09:30:18 2025 +0100
@@ -29,6 +29,18 @@
 #include "db.h"
 #include "dbutils/db.h"
 
+int dbuConnectionExec(DBUConnection *conn, const char *sql) {
+    DBUQuery *q = conn->createQuery(conn, NULL);
+    int err = 1;
+    if(!dbuQuerySetSQL(q, sql)) {
+        err = dbuQueryExec(q);
+    } 
+    dbuQueryFree(q);
+    return err;
+}
+
+
+
 int dbuQuerySetSQL(DBUQuery *q, const char *sql) {
     return q->setSQL(q, sql);
 }
--- a/dbutils/dbutils/db.h	Sat Jan 04 13:03:01 2025 +0100
+++ b/dbutils/dbutils/db.h	Sun Feb 16 09:30:18 2025 +0100
@@ -96,6 +96,7 @@
     int rowIndex;
 };
 
+int dbuConnectionExec(DBUConnection *conn, const char *sql);
 
 int dbuQuerySetSQL(DBUQuery *q, const char *sql);
 int dbuQuerySetParamString(DBUQuery *q, int index, cxstring str);
--- a/test/main.c	Sat Jan 04 13:03:01 2025 +0100
+++ b/test/main.c	Sun Feb 16 09:30:18 2025 +0100
@@ -152,6 +152,11 @@
     }
     
     DBUConnection *conn = dbuSQLiteConnectionFromDB(db, true);
+    
+    // test dbuConnectionExec
+    int execResult = dbuConnectionExec(conn, "drop table if exists test_table;");
+    printf("exec result: %d\n\n", execResult);
+    
     DBUQuery *query = conn->createQuery(conn, NULL);
     dbuQuerySetSQL(query, "select p.*, a.address_id as [__address__address_id], a.street, a.zip, a.city from Person p inner join Address a on p.address_id = a.address_id;");
     

mercurial