qt使用自带的数据库sqlite(登录,注册)

qt使用sqlite

在创建数据库之前,一定要在.pro文件中加上sql

1.可以在后面空格直接加上
QT       += core gui  sql
2.也可以另起一行
QT       += core gui
QT       += sql
这两种方法均可以
  1. 创建数据库
 //创建一个数据库
    db = QSqlDatabase::addDatabase("QSQLITE");//添加驱动
    db.setDatabaseName("stu.db");//数据库的名字

2.打开数据库

    bool ok = db.open();//如果不存在就创建,存在就打开
    if(ok)
    {
        qDebug()<<"数据库创建(打开)成功了";
    }
    else
    {
        qDebug()<<db.lastError().text();//调用上一次出错的原因
        exit(-1);
    }

3.查找数据库

 QSqlQuery query("select name from child_info",db);

完整的数据库注册代码

void Widget::on_addbtn_clicked()
{

    bool ok = db.open();//如果不存在就创建,存在就打开
    if(ok)
    {
        qDebug()<<"数据库创建(打开)成功了";
    }
    else
    {
        qDebug()<<db.lastError().text();//调用上一次出错的原因
        exit(-1);
    }

    QSqlQuery query;
    query.exec("create table child_info(name varchar(20),age varchar(20),gender varchar(20))");//创建表,执行sql



    query.prepare("INSERT INTO child_info (name, age, gender) "
                  "VALUES (:name, :age, :gender)");
    query.bindValue(":name", ui->namelineEdit->text());  
    query.bindValue(":age",ui->agelineEdit->text() );
    query.bindValue(":gender", ui->genderlineEdit->text());
    query.exec();


    ui->namelineEdit->clear();
    ui->agelineEdit->clear();
    ui->genderlineEdit->clear();
    db.close();
}

登录代码

void Widget::on_showbtn_clicked()
{
    bool ok = db.open();//如果不存在就创建,存在就打开
    if(ok)
    {
        qDebug()<<"数据库创建(打开)成功了";
    }
    else
    {
        qDebug()<<db.lastError().text();//调用上一次出错的原因
        exit(-1);
    }

    QSqlQuery query("select name from child_info",db);
    QSqlRecord rec = query.record();
    while(query.next())
    {
        rec = query.record();
        int snamecol = rec.indexOf("name");
        QString value = query.value(snamecol).toString();
        qDebug()<<"name"<<value;
        if(value=="周继")
        {
            qDebug()<<"找到了";
        }
    }
}

大致的操作如上,根据需要可以对代码进行更改。
要说的是,qt自带的这个sqlite是一个非常轻量级的数据库,使用起来也没有那么繁杂。最后的

		if(value=="周继") 可以更换为输入的内容,ui->namelineEdite->text()
        {
            qDebug()<<"找到了";
        }

这个判断应该为登录页面上的用户名。
根据自己的需要再进行修改吧,希望能够帮到大家!

  • 8
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值