#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QString>
#include <QMessageBox>
#include <QDebug>
using namespace std;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
rows = 0;
index = 0;
//连接数据库
db = QSqlDatabase::addDatabase ("QSQLITE"); //设置驱动
db.setDatabaseName ("/apps/test.db");
if(!db.open ())
{
QMessageBox::warning (0, QObject::tr("Database error"), db.lastError ().text ());
return;
}
qDebug()<<"Connect success\n";
//查询user表格中已有数据的行数
QSqlQuery query;
query.exec("SELECT COUNT(*) FROM users");
if(query.next())
rows = query.value(0).toInt();
qDebug()<<"Rows: "<<rows;
ui->horizontalSlider->setMaximum(rows);
}
MainWindow::~MainWindow()
{
qDebug()<<"Quit...\n";
db.close();
delete ui;
}
void MainWindow::on_pushButton_ct_clicked()
{
const char *sSQL = "create table users ("
"id integer PRIMARY KEY AUTOINCREMENT, "
"name varchar(40) NOT NULL, "
"age integer NOT NULL, "
"birthday datetime NOT NULL, "
"email varchar(40) NOT NULL);";
//执行建表SQL
QSqlQuery query;
query.exec(sSQL);
rows = 0;
index = 0;
qDebug()<<"Datebase table creator success!!\n";
}
void MainWindow::on_pushButton_ic_clicked()
{
rows++;
QString sSQL = QString("insert into users values"
"(%1, 'ws_%2', %3, '1989-5-4', 'westlor@foxmail.com');")
.arg(rows).arg(rows).arg(20+rows);
//执行插入数据
QSqlQuery query;
query.exec(sSQL);
ui->horizontalSlider->setMaximum(rows);
qDebug()<<"Datebase insert success!\n";
}
void MainWindow::on_pushButton_sp_clicked()
{
if(index > 1) index--;
else index = 1;
ui->textEdit->clear();
QString sSQL = QString("select * from users where id=%1").arg(index);
//执行查询操作
QSqlQuery query;
query.exec(sSQL);
while(query.next()){
ui->textEdit->append(QString("id: ") + query.value(0).toString());
ui->textEdit->append(QString("name: ") + query.value(0).toString());
ui->textEdit->append(QString("age: ") + query.value(0).toString());
ui->textEdit->append(QString("birthday: ") + query.value(0).toString());
ui->textEdit->append(QString("email: ") + query.value(0).toString());
}
ui->horizontalSlider->setValue(index);
qDebug()<<"Datebase inquire success!!\n";
}
void MainWindow::on_pushButton_dt_clicked()
{
const char *sSQL = "drop table users";
//delete table
QSqlQuery query;
query.exec(sSQL);
rows = 0;
index = 0;
qDebug()<<"Datebase table delete success!!\n";
}
void MainWindow::on_pushButton_sn_clicked()
{
if(index < rows) index++;
else index = rows;
ui->textEdit->clear();
QString sSQL = QString("select * from users where id=%1").arg(index);
//执行查询操作
QSqlQuery query;
query.exec(sSQL);
while(query.next()){
ui->textEdit->append(QString("id: ") + query.value(0).toString());
ui->textEdit->append(QString("name: ") + query.value(0).toString());
ui->textEdit->append(QString("age: ") + query.value(0).toString());
ui->textEdit->append(QString("birthday: ") + query.value(0).toString());
ui->textEdit->append(QString("email: ") + query.value(0).toString());
}
ui->horizontalSlider->setValue(index);
qDebug()<<"Datebase inquire success!!\n";
}
void MainWindow::on_pushButton_dc_clicked()
{
if(rows > 0) rows--;
else{
qDebug()<<"No more row..";
return;
}
QString sSQL = QString("delete from users where id=%1").arg(rows+1);
//delete row
QSqlQuery query;
query.exec(sSQL);
ui->horizontalSlider->setMaximum(rows);
qDebug()<<"Datebase delete success!\n";
}
2_qt+sqlite3_plug
需积分: 15 27 浏览量
2016-01-11
15:37:12
上传
评论
收藏 8KB ZIP 举报
萧条桑拓
- 粉丝: 127
- 资源: 10
最新资源
- windows下NTFS文件系统读取.zip
- windows程序设计课程 相关代码.zip
- Windows via C++图书代码,升级Windows SDK 到10.zip
- matlab基于扩张卡尔曼滤波的磷酸铁锂蓄电池SOC检测,给出了电池模型和算法实现过程.zip
- matlab基于卡尔曼滤波的磷酸铁锂蓄电池SOC检测
- STM8S003F3P6最小系统AD版(包含原理图、PCB源文件)
- smg.uvproj
- nextjs turbo build
- mysql-connector-j-8.0.31.jar
- MATLAB Appdesigner 设计天气预报小程序:全国各城市天气查询系统Weather-capturer-v3
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈