]> git.nothing2do.fr Git - diary-mobile.git/commitdiff
exec(QString) is now exec(QList<QString>)
authorNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Sat, 21 Dec 2013 17:52:55 +0000 (18:52 +0100)
committerNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Sat, 21 Dec 2013 17:52:55 +0000 (18:52 +0100)
mainwindow.cpp
mainwindow.h

index dd120004ccbb4a23970ebbcb10f79df2a4a55ea9..71092cb3fb966ac963dbf7e601ba192a51b61720 100644 (file)
@@ -44,7 +44,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
 void MainWindow::start(){
     flush();
     way.clear();
-    getButtons(QString("begin"));
+    getButtons("begin");
 }
 MainWindow::~MainWindow()
 {
@@ -136,10 +136,10 @@ void MainWindow::action(const QString & a){
         conf->setValue(QString(a.split(QString(" "))[1]), a.split(QString(" "))[2]);
         start();
     }
-    else if(a.split(QString(" "))[0]==QString("sql")){
+    /*else if(a.split(QString(" "))[0]==QString("sql")){
         exec(a.mid(4));
         start();
-    }
+    }*/
     else if(a=="new"){
         entry();
         start();
@@ -250,9 +250,14 @@ QString &MainWindow::get(int row, int column){
     tmp=q->value(column).toString();
     return tmp;
 }
-int MainWindow::exec(const QString & a){
-    q->prepare(a);
-    qDebug()<<"exec("<<a<<")="<<q->exec();
+int MainWindow::exec(const QList<QString> & a){
+    qDebug()<<"exec()="<<a[0]<<" a.size()="<<a.size();
+    q->prepare(a[0]);
+    for (int j=1; j<a.size(); j++){
+        q->bindValue(j-1, a[j]);
+        qDebug()<<"bind "<<j-1<<" and"<<a[j];
+    }
+    qDebug()<<"exec()="<<q->exec();
     QSqlError b=q->lastError();
     if (b.isValid())qDebug()<<"SQL error->exec() :"<<b.text();
     return q->size();
@@ -299,26 +304,34 @@ void MainWindow::entry(){
 }
 void MainWindow::createDB(){
     qDebug()<<"createDB()";
-    exec(QString("create table ui(keyword text, label text, action text);"));
-    exec(QString("create table raw(date timestamp, texte text);"));
-    exec(QString("insert into ui (keyword, label, action) values ('begin', 'new', 'new')"));
+    exec(QList<QString>({"create table ui(keyword text, label text, action text);"}));
+    exec(QList<QString>({"create table raw(date timestamp, texte text);"}));
+    exec(QList<QString>({"insert into ui (keyword, label, action) values ('begin', 'new', 'new')"}));
 }
 void MainWindow::addButtonDB(){
     qDebug()<<"addButtonDB()";
-    QString cmd="insert into ui (keyword, label, action) values ('", cur=way.last();
+    QList<QString> cmd;
+    cmd.append("insert into ui (label, keyword, action) values (:label, :keyword, :action)");
+    QString cur=way.last();
     QString view=QInputDialog::getText(this, QString("label"), QString("Entrez le label"));
     if (view=="")view="default";
     QString key=QInputDialog::getText(this, QString("keyword"), QString("Entrez le nom de la page"), QLineEdit::Normal, cur);
     cur.chop(1);
     QString action=QInputDialog::getText(this, QString("action"), QString("Entrez l'action"), QLineEdit::Normal, cur+"_"+view);
-
-    QString a=cmd+key+"', '"+view+"', '"+action+"');";
-    qDebug()<<"exec()="<<exec(a);
-    /*flush();
-    getButtons(way.last());*/
+    cmd.append(view);
+    cmd.append(key);
+    cmd.append(action);
+    qDebug()<<"exec()="<<exec(cmd);
+    flush();
+    getButtons(way.last());
 }
 void MainWindow::getButtons(const QString &a){
-    QString tmp="select label,action from ui where keyword like '%"+a+"%';", b=QString::number(way.size());
+//void MainWindow::getButtons(){
+    qDebug()<<"getButtons()";
+    QList<QString> tmp({"select label,action from ui where keyword like :word;"});
+    //QString a="begin";
+    tmp.append(a);
+    QString b=QString::number(way.size());
     label->setText(b);
     way.append(a);
     exec(tmp);
@@ -330,7 +343,7 @@ void MainWindow::getButtons(const QString &a){
 }
 void MainWindow::editButtonDB(){
     flush();
-    qDebug()<<"exec()="<<exec(QString("select label from ui where keyword like '"+label->text())+"';");
+    qDebug()<<"exec()="<<exec(QList<QString>({"select label from ui where keyword like ':key' and label = ':label';"}));
     while (q->next()) {
         //QString key=QString("sql select keyword,label,action from ui where keyword like '"+q->value(0).toString()+"';");
         qDebug()<<q->value(0).toString();
index 2a5f24ea05f769aec3611fc61448e988dea467da..15426a90daa66c1d0b80d9e57b7236e0ebc86f34 100644 (file)
@@ -74,12 +74,13 @@ private slots:
     void firstrun();
     QString &get(int, int);
     int alias(const QString &);
-    int exec(const QString &);
+    int exec(const QList<QString> &);
     void entry();
     void createDB();
     void addButtonDB();
     void editButtonDB();
     void getButtons(const QString &);
+    //void getButtons();
     int updateUi();
 public slots: