QT实现对sqlite数据库的操作
发布时间:2020-12-12 20:24:05 所属栏目:百科 来源:网络整理
导读:先看下效果图: http://blog.chinaunix.net/photo/116111_101004185238.jpg 该程序对数据库的操作包括4个字段:ID、Name、Addr、Nick (注意第一个字段必须是整数) query、insert、delete按钮分别表示查询、插入、删除功能 查询按钮的实现: void database:
先看下效果图:
http://blog.chinaunix.net/photo/116111_101004185238.jpg
该程序对数据库的操作包括4个字段:ID、Name、Addr、Nick (注意第一个字段必须是整数)
query、insert、delete按钮分别表示查询、插入、删除功能
查询按钮的实现:
void database::on_QueryButton_clicked() { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("test.db"); bool ok = db.open(); if (ok == true) { QSqlQuery query; query.exec("SELECT * from info"); QString string; while (query.next()) { QString id = query.value(0).toString(); qDebug() <<id; string += id + "n"; QString name = query.value(1).toString(); string += name + "n"; } qDebug() <<string; ui->TextEdit->setText(string); } else { QMessageBox::information(this,"ERROR","open database error"); } db.close(); } 插入按钮的实现: void database::on_InsertButton_clicked() { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("test.db"); bool ok = db.open(); if (ok == true) { QSqlQuery query; query.prepare("INSERT INTO info (id,name) " "VALUES (:id,:name)"); query.bindValue(":id",ui->IdEdit->text().toInt()); query.bindValue(":name",ui->NameEdit->text()); query.exec(); ui->IdEdit->clear(); ui->NameEdit->clear(); this->on_QueryButton_clicked(); } else { QMessageBox::information(this,"open database error"); } db.close(); } 删除按钮的实现: void database::on_DeleteButton_clicked(){ QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("test.db"); bool ok = db.open(); if (ok == true) { QSqlQuery query; QString command="DELETE FROM info WHERE "; if (ui->IdEdit->text().isEmpty() == false) { command.append("id="+ui->IdEdit->text()); query.exec(command); } else if (ui->NameEdit->text().isEmpty() == false) { command +="name='" + ui->NameEdit->text() + "'"; qDebug()<<command; query.exec(command); } else { QMessageBox::information(this,"open database ok! delete error"); } ui->IdEdit->clear(); ui->NameEdit->clear(); this->on_QueryButton_clicked(); } else { QMessageBox::information(this,"open database error"); } db.close();} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |