加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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();}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读