我正在使用此代码在Qt中创建SQlite数据库。
现在,我有两个问题:首先,如何在表中添加新记录,其次,如何检查表是否存在?
bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("SQLITE");
db.setHostName("Server");
db.setDatabaseName("Message.DB");
if (!db.open()) {
QMessageBox::critical(0, QObject::tr("Database Error"),
db.lastError().text());
return false;
}
最佳答案
应该能够工作:
QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE");
database.setDatabaseName("Message.DB");
if(database.open() == false) {
// ... <- Error handling
return false;
}
QSqlQuery sqlQuery(database);
bool inserted = sqlQuery.exec("INSERT INTO my_table (col1, col2) VALUES (\'one\', \'two\')");
if(inserted == false) {
// ... <- Error handling
}
不确定如何检查表是否存在,但是如果不存在表,则可以创建表:
bool created = sqlQuery.exec("CREATE TABLE IF NOT EXISTS my_table(<column info>);");