QSqlQuery bindValue向字符串添加引号

时间:2014-12-08 23:27:47

标签: sqlite qsqlquery

我创建了一个向sqlite表添加新记录的函数,一切正常,但在尝试插入字符串时,会添加两个额外的引号

代码:

int dBase::ajouter(QString table,QVector<QVariant> valeurs)
{
    connect();
    QSqlQuery query(db);


    QString sql="INSERT INTO "+table+" VALUES (NULL";
    for(int i=0;i<valeurs.length();i++)
        sql+=", :val"+QString::number(i);
    sql+=")";

    query.prepare(sql);
    for(int i=0;i<valeurs.length();i++)
        query.bindValue(":val"+QString::number(i), valeurs.at(i));

    int ret=-1;

    if(query.exec())
        ret=query.lastInsertId().toInt();
    else
        qDebug()<<query.lastError();
    disconnect();

    return ret;
}

执行select时显示的值:

  

1 |&#39;喃&#39; |&#39;自付&#39; |&#39;威乐&#39; |&#39;住址&#39; | 1234 |&#39; 12345678&#39 ; |&#39; 13245678&#39; |&#39; 12345678&#39; |&#39; email@email.com'

我尝试使用时发现了这个问题,而Nom =&#34; x&#34;它总是没有记录。

0 个答案:

没有答案