今天研究一下使用Qt编程对Sqlite数据库进行操作,算是一个Qt操作Sqlite示例,程序实现的功能比较简单,希望能够帮助大家了解Qt编程对Sqlite数据库进行操作的基本方法。
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() << string += id + "\n";
-
QString name = query.value(1).toString();
-
string += name + "\n";
-
}
-
qDebug() << 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, "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() << query.exec(command);
-
}
-
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();
-
}
复制代码
通过上面的示例代码,我们发现,其实使用Qt编程对Sqlite数据库进行操作的方法很简单,这对我们编写桌面数据库程序提供了很大方便。
阅读(1069) | 评论(0) | 转发(0) |