QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":temp:");
if (!db.open()) {
qDebug() << "Database open error." << db.lastError();
return;
}
QSqlQuery query(db);
query.prepare("create table if not exists dew (id int, title varchar(255) not null)");
if (!query.exec()) {
qDebug() << "Query exec error. " << query.lastError();
return;
}
qDebug() << "Insert query exec OK";
if (!query.exec("insert into dew(id, title) values (1, 'hello')")) qDebug() << query.lastError();
die Ausgabe alsQt Sqlite Tabellenspalte erscheint
Insert query exec OK
QSqlError(1, "Unable to execute statement", "table dew has no column named id")
Insertion finished.
Tabelle Schöpfung scheint in Ordnung zu sein Shows gegangen werden. Aber wo ist id Feld? Ich bin mit diesem Code verwirrt. Ich teste query.record(). Enthält ("id"); und es ist falsch
Wenn, bevor Sie diesen Code ausführen, eine Tabelle mit dem Namen ' tau' existiert _without_ einer 'id'-Spalte, diese Tabelle wird nicht geändert. Hast du überprüft? – Mat
Gut! Du hast richtig geraten! Aber eine andere Sache,: temp: sollte nach dem Ende der Exekutive gelöscht werden. Aber es bleibt. – Dewsworld
Wo hast du das gelesen? – Mat