naptizaN
18th July 2012, 13:48
Hello, I am trying to insert a new record into my db from lineedits. Everything works fine. But if there is some word in Double quotes (" ") the query fails with Sql syntax error. How can i insert data that contains double quotes?
void MainWindow::insertRow()
{
QString sqlstr=QString("INSERT INTO sianimtable (CIPHER,CIPHERKP,TITLE,MSGON,MSGOFF) VALUES(\"%1\",\"%2\",\"%3\",\"%4\",\"%5\");")
.arg(le2->text())
.arg(le1->text())
.arg(le3->text())
.arg(le4->text())
.arg(le5->text());
QSqlQuery *q = new QSqlQuery();
if(q->exec(sqlstr)==false)
{
QMessageBox *pmsg = new QMessageBox;
pmsg->setText("can't connect with db");
pmsg->setInformativeText(q->lastError().text());
pmsg->exec();
return;
}
delete q;
}
void MainWindow::insertRow()
{
QString sqlstr=QString("INSERT INTO sianimtable (CIPHER,CIPHERKP,TITLE,MSGON,MSGOFF) VALUES(\"%1\",\"%2\",\"%3\",\"%4\",\"%5\");")
.arg(le2->text())
.arg(le1->text())
.arg(le3->text())
.arg(le4->text())
.arg(le5->text());
QSqlQuery *q = new QSqlQuery();
if(q->exec(sqlstr)==false)
{
QMessageBox *pmsg = new QMessageBox;
pmsg->setText("can't connect with db");
pmsg->setInformativeText(q->lastError().text());
pmsg->exec();
return;
}
delete q;
}