数据库

1,新建一个工程,设计 UI界面

2,创建数据库

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 创建数据库
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("myDB.db");

    // 打开数据库
    if(!db.open())
    {
        qDebug() << "open db error!" << db.lastError();
    }
}

数据库文件创建成功!

3,创建表

// 创建表
QString sqlCreate = QString("create table student"
                            "(id integer primary key autoincrement,"
                            "num double,"
                            "name varchar(20),"
                            "score double);");
if(!query.exec(sqlCreate))
{
    qDebug() << "create table error!" << db.lastError();
}

表创建成功!

4,往表里插入数据

void Widget::on_pushButton_insert_clicked()
{
    QString namestr = ui->lineEdit_name->text();
    int num = ui->lineEdit_number->text().toInt();
    double score = ui->lineEdit_score->text().toDouble();
    QString str =
            QString("insert into student(num, name, score) "
                    "values('%1', '%2', '%3')").arg(num).arg(namestr).arg(score);
    QSqlQuery query;
    if(!query.exec(str))
    {
        qDebug() << "insert error!" << db.lastError();
    }
    else
    {
        ui->textEdit->setText("插入成功");
    }
}

5,删除数据

void Widget::on_pushButton_delete_clicked()
{
    QString name = ui->lineEdit_name->text();
    QString str =  QString("delete from student where name = '%1'").arg(name);
    QSqlQuery query;
    if(!query.exec(str))
    {
        qDebug() << "delete error!" << db.lastError();
    }
    else
    {
        ui->textEdit->append("删除成功");
    }
}

6,修改数据

void Widget::on_pushButton_modify_clicked()
{
    QString namestr = ui->lineEdit_name->text();
    int num = ui->lineEdit_number->text().toInt();
    double score = ui->lineEdit_score->text().toDouble();
    QString str =
            QString("update student set "
                    "num = '%1' , score = '%2' where name = '%3'")
            .arg(num).arg(score).arg(namestr);
    QSqlQuery query;

    if(!query.exec(str))
    {
        qDebug() << "modify error!" << db.lastError();
    }
    else
    {
        ui->textEdit->append("修改成功");
    }
}

7,查询

void Widget::on_pushButton_query_clicked()
{
    QString namestr = ui->lineEdit_name->text();
    QString str = QString("select *from student where name = '%1'")
            .arg(namestr);

    QSqlQuery query;

    if(!query.exec(str))
    {
        qDebug() << "find error!" << db.lastError();
    }
    else
    {
        ui->textEdit->append("查询成功");
    }

    while (query.next())
    {
        ui->textEdit->append("查询结果输出:");
        ui->textEdit->append(query.value(0).toString());
        ui->textEdit->append(query.value(1).toString());
        ui->textEdit->append(query.value(2).toString());
        ui->textEdit->append(query.value(3).toString());
    }
}

8,测试

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柔弱胜刚强.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值