How to write Sqlite DataBase in Qt
How to write Sqlite DataBase in Qt
我使用此代码在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>);");
您还应该创建一个查询,该查询将创建非空数据库并使用正确的变量名称(在您的代码中,您首先使用dbConnection,然后使用-db.
相关文章:
- cuda 10.2 in Qt 5.14 ubuntu 18.04
- QPaintedTextureImage in Qt3D (Qt 5.8)
- 没有成员命名 'setRawData' in 'QwtPlotCurve' - 转换 Qt 4.7 为 Qt 5.8
- UCHAR to Qstring in QT C++
- unique_ptr in Qt project
- const char* to LPCWSTR in Qt
- No qtCreator in qt-everywhere-opensource-src-4.8.1
- Millimeter paper in Qt
- Writing SQlite Database in Qt
- <double> QList in QT with Visual Studio add in
- How to write Sqlite DataBase in Qt
- Improving the quality of random number generation in Qt 5.3
- OSGViewer in Qt's TabWidget
- zlib in Qt - QtZlib not present
- XAudio2 in Qt Creator
- 如何通过 C++in QT 监控 Linux 中的服务
- std::thread::thread(<未解析的重载函数类型>) in Qt
- Audiocallback in Qt
- Objective-C in Qt with Mavericks
- glGenFramebuffers() in Qt get 'was not declared in this scope'