# HG changeset patch # User Olaf Wintermann # Date 1739694618 -3600 # Node ID 421555fa9ce48d1724f4a42266d6a21739ca4944 # Parent 0aa8cbd7912ecb32a2ff93a426b3212f6445acac add dbuConnectionExec diff -r 0aa8cbd7912e -r 421555fa9ce4 dbutils/db.c --- 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); } diff -r 0aa8cbd7912e -r 421555fa9ce4 dbutils/dbutils/db.h --- 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); diff -r 0aa8cbd7912e -r 421555fa9ce4 test/main.c --- 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;");