QT 数据库操作

在QT 的 .pro 工程文件中需要添加

#增加数据库支持
QT   += sql    

初始化创建数据库

void Widget::initsql()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("bank.db");
    if(db.open())
    {
        qDebug()<<"db open succ";
    }else{
        qDebug()<<"db open fail";
    }
}

创建初始化 数据库表

void Widget::createTable()
{
    QString cmd = "create table user("
                  "ID char(9) primary key,"
                  "Name varchar(10) not null,"
                  "Passwd varchar(20) not null,"
                  "Balance char(10) not null);";
    QSqlQuery query;
    if(query.exec(cmd))
    {
        qDebug()<<"create succ";
    }else{
        qDebug()<<"create fail";
    }
}

访问数据库操作

QString cmd = tr("select Passwd from user "
                         "where ID = '%1';").arg(id);// 获取数据库中ID 为 id的数据
QSqlQuery query;    // 定义数据库类
query.exec(cmd);    // 执行数据指令  
        if(query.next())  //
        {
            if(query.value(0).toString() == passwd)
            { 
                // 数据库中的passwd 等于 passwd;
            }
        }                  

更新数据库数据

        QString cmd = tr("update user set Balance = '%1' where ID = '%2'").arg(getmoney).arg(id);
        QSqlQuery query;
        query.exec(cmd);

删除数据库数据

    QString cmd = tr("delete from user where ID = '%1';").arg(id);
    QSqlQuery query;
    if(query.exec(cmd))
    {
        QMessageBox::information(this,"提示","删除用户信息成功!");
        emit deleteusersucc();
    }else {
        QMessageBox::information(this,"提示","失败!");
    }

添加数据库信息

    QSqlQuery query;
    QString cmd = tr("insert into user values("
                     "'%1', '%2', '%3', '%4')").arg(id).arg(name).arg(passwd).arg(balance);
    if(query.exec(cmd))
    {
        QMessageBox::information(this,"提示","<font color='black'>添加成功!");
        emit addusersucc();
    }else{
        QMessageBox::information(this,"提示","<font color='black'>添加失败!");
    }

猜你喜欢

转载自blog.csdn.net/qq_33283417/article/details/80640197