#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->tableWidget->clearContents();
ui->tableWidget->setColumnCount(3);
ui->tableWidget->setHorizontalHeaderLabels(QStringList() << QString::fromLocal8Bit("学 号") << QString::fromLocal8Bit("姓名") << QString::fromLocal8Bit("分数"));
ui->tableWidget->takeVerticalHeaderItem(0);
ui->tableWidget->horizontalHeader()->setDefaultAlignment(Qt::AlignHCenter);//表头字体居中
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); //先自适应宽度
ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); //然后设置要根据内容使用宽度的列
ui->tableWidget->verticalHeader()->hide();
CreateDatabaseFunc();
CreateTableFunc();
}
MainWindow::~MainWindow()
{
delete ui;
}
//创建数据库
void MainWindow::CreateDatabaseFunc()
{
sqldb = QSqlDatabase::addDatabase("QSQLITE");
sqldb.setDatabaseName("studentmis.db");
if(sqldb.open())
{
QMessageBox::information(this, "ok", "open sucess", QMessageBox::Ok);
}
else {
QMessageBox::information(this, "ok", "open failed", QMessageBox::Ok);
}
}
//创建数据表
void MainWindow::CreateTableFunc()
{
QSqlQuery createquery;
QString strsql = QString("create table if not exists student ("
"id int primary key not null,"
"name text not null,"
"score real not null)");
if(createquery.exec(strsql))
{
QMessageBox::information(this, "ok", "create table sucess", QMessageBox::Ok);
}
else {
QMessageBox::information(this, "ok", "create table failed", QMessageBox::Ok);
}
}
//执行查询
void MainWindow::QueryTableFunc()
{
}
void MainWindow::on_pushButton_SORT_clicked()
{
}
void MainWindow::on_pushButton_INSERT_clicked()
{
QSqlQuery sqlquery;
int id = ui->lineEdit_ID->text().toInt();
QString name = ui->lineEdit_NAME->text();
double score = ui->lineEdit_SCORE->text().toDouble();
QString strs = QString("insert into student "
"values(%1,'%2',%3)").arg(id).arg(name).arg(score);
if(sqlquery.exec(strs))
{
QMessageBox::information(this, "ok", "insert data sucess", QMessageBox::Ok);
}
else{
QMessageBox::information(this, "ok", "create table failed", QMessageBox::Ok);
}
}
void MainWindow::on_pushButton_DELETE_clicked()
{
QSqlQuery sqlquery;
QString name = ui->lineEdit_NAME->text();
QString strs = QString("delete from student where values = %1").arg(name);
if(sqlquery.exec(strs))
{
QMessageBox::information(this, "ok", "insert data sucess", QMessageBox::Ok);
}
else{
QMessageBox::information(this, "ok", "create table failed", QMessageBox::Ok);
}
}
void MainWindow::on_pushButton_UPDATE_clicked()
{
QSqlQuery sqlquery;
QString name = ui->lineEdit_NAME->text();
QString strs = QString("update student set name = 'zhangsan' where id = 2");
if(sqlquery.exec(strs))
{
QMessageBox::information(this, "ok", "insert data sucess", QMessageBox::Ok);
}
else{
QMessageBox::information(this, "ok", "create table failed", QMessageBox::Ok);
}
}
void MainWindow::on_pushButton_SEARCH_clicked()
{
QSqlQuery sqlquery;
QString strs = QString("select * from student ");
ui->tableWidget->clearContents();
//设置表格数据区内的所有单元格都不允许编辑
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
//设置表格中每一行
if(sqlquery.exec(strs))
{
int nCount = 0;
ui->tableWidget->setRowCount(nCount+1);
while (sqlquery.next()) {
int id = sqlquery.value(0).toInt();
QString strName = sqlquery.value(1).toString();
double dScore = sqlquery.value(2).toDouble();
ui->tableWidget->setItem(nCount,0,new QTableWidgetItem(QString::number(id)));
ui->tableWidget->setItem(nCount,1,new QTableWidgetItem(strName));
ui->tableWidget->setItem(nCount,2,new QTableWidgetItem(QString::number(dScore)));
nCount++;
ui->tableWidget->setRowCount(nCount+1);
}
}
else{
QMessageBox::information(this, "ok", "create table failed", QMessageBox::Ok);
}
update();
}
没有合适的资源?快使用搜索试试~ 我知道了~
Qt调用Sqlite数据库
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共5个文件
cpp:2个
ui:1个
pro:1个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
需积分: 5 0 下载量 64 浏览量
2024-05-23
19:37:54
上传
评论
收藏 3KB RAR 举报
温馨提示
使用Qt自带的库来使用Sqlite数据库,实现增删查改功能; Sqlite 数据库作为 Qt 项目开发中经常使用的一个轻量级的数据库,可以说是兼容性相对比较好的数据库之一,尤其是在一些嵌入式设备中,由于其小巧简洁而大量使用;
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 5 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/5df8f3301f4b46f09e0045ecb7248139_qianniulaoren.jpg!1)
牵牛老人
- 粉丝: 157
- 资源: 7
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)