void MainWindow::start(){
flush();
way.clear();
- getButtons(QString("begin"));
+ getButtons("begin");
}
MainWindow::~MainWindow()
{
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();
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();
}
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);
}
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();