3
query->prepare("INSERT INTO businessweek (id, source, date, headline, body) VALUES (NULL, ?, ?, ?, ?)");
query->bindValue(1, "source");
query->bindValue(2, "date");
query->bindValue(3, "headline");
query->bindValue(4, "body");

if (query->exec()) {
    tt << "Query success";
} else {
    qDebug() << db.lastError();
    return;
}

QMYSQL を使用しています。そして、エラーは

 QSqlError(-1, "", "") 

しかし

query->exec("INSERT INTO businessweek (id, source, date, headline, body) VALUES (NULL, 'google', 'may 0, 23', 'head', 'fjsdflksjdlkfdsjlfkjd');")

正常に動作しています。

4

1 に答える 1

3

問題を推測するのは難しいです。しかし、私が想像できることの1つであり、コードで間違いなく間違っているのは、のフィールド番号がbindValue0から始まることです(ここを参照)。

したがって、私は試してみることをお勧めします

query->prepare("INSERT INTO businessweek (id, source, date, headline, body) VALUES (NULL, ?, ?, ?, ?)");
query->bindValue(0, "source");
query->bindValue(1, "date");
query->bindValue(2, "headline");
query->bindValue(3, "body");

if (query->exec()) {
    tt << "Query success";
} else {
    qDebug() << db.lastError();
    return;
}
于 2012-05-12T05:41:06.757 に答える