linux下qt的sqlite数据库教程,QT实现对sqlite数据库的操作

先看下效果图:

该程序对数据库的操作包括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()

QString name = query.value(1).toString();

string += name + "\n";

}

qDebug() 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, "ERROR", "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()

}

else

{

QMessageBox::information(this, "ERROR", "open database ok! delete error");

}

ui->IdEdit->clear();

ui->NameEdit->clear();

this->on_QueryButton_clicked();

}

else

{

QMessageBox::information(this, "ERROR", "open database error");

}

db.close();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值