From c204d4303098381c9e43bcaad13757d61e1a5667 Mon Sep 17 00:00:00 2001 From: tabuleiro Date: Thu, 10 Dec 2009 15:41:53 +0000 Subject: [PATCH] Execute multiline queries in the SQL window --- sqlitebrowser/sqlitebrowser/form1.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/sqlitebrowser/sqlitebrowser/form1.cpp b/sqlitebrowser/sqlitebrowser/form1.cpp index 110672a9..a7505683 100644 --- a/sqlitebrowser/sqlitebrowser/form1.cpp +++ b/sqlitebrowser/sqlitebrowser/form1.cpp @@ -825,11 +825,15 @@ void mainForm::executeQuery() //log the query db.logSQL(query, kLogMsg_User); sqlite3_stmt *vm; - const char *tail; - int ncol; - - int err=0; + const char *tail=NULL; + int ncol; + int err=0; QString lastErrorMessage = QString("No error"); + //Accept multi-line queries, by looping until the tail is empty + while (1) { + if (tail!=NULL) { + query = QString(tail); + } queryResultListView->clear(); queryResultListView->setSorting (-1, FALSE); while (queryResultListView->columns()>0) @@ -872,13 +876,15 @@ void mainForm::executeQuery() rownum++; } } - sqlite3_finalize(vm); }else{ lastErrorMessage = QString (sqlite3_errmsg(db._db)); } queryErrorLineEdit->setText(lastErrorMessage); queryResultListView->setResizeMode(Q3ListView::AllColumns); + + if(*tail==0) break; + } }