Qt中数据库基本操作--QSqlQuery

       Qt中对数据库的操作主要通过QSqlQuery实现,QSqlQuery提供了执行数据库语句的方法,在Qt中利用QSqlQuery类实现了执行SQL语句。它可以返回所有的执行结果,当建立好数据库连接好后可以通过使用QSqlQuery::exec(),如同下面的语句:

                  QSqlQuery  query;

                  query.exec("SELECT * FROM book");

当创建一个QSqlQuery对象后,可以被指定的QSqlDatabase对象连接来使用。

常见的数据库操作包括添加,查询,删除,和修改等。

添加:

       通过QSqlQuery类对象执行相关的SQL语句对数据库进行操作。创建数据连接后对数据库进行基本操作,如添加、删除很更新等,都可以通过QSqlQuery执行相关的SQL语句实现。例如向数据库添加数据:

              QSqlQuery  query;

              bool  value;

              value = query.exec("INSERT INTO book VALUES ("'+ID+"',"'+name+"',"'+type+)")';

             if(value)

                          QMessageBox::information(this,"notice","add sucessful!");

            else

                          QMessageBox::information(this,"notice","add failed!");

              

 浏览:

             QSqlQuery类中当执行exec()后会把指针放在记录集中第一个记录之上,所以需要调用QSqlQuery::next()来获取第一个数据,下面通过循环体来遍历所有表中的数据。

         while(query.next())

           {

            QString name = query.value(0).toString();

           qDebug()<<name;

            }

QSqlQuery::value()函数得到当前记录区域中的数据,QSqlQuery::value()默认返回的是一个QVariant类型,Qt提供了几种可远的类型支持,它们是C++的基本的类型,如:int,QString,QByteArray。对于不同类型的转换需要使用Qt提供的函数来实现,例如QVariant::toString()与QVaniant::toInt().

 

删除:

      QSqlQuery query;

      bool  value;

      value = query.exec(“delete from book where ID = “‘+id+”’”);

     if(value)

                          QMessageBox::information(this,"notice","add sucessful!");

            else

                          QMessageBox::information(this,"notice","add failed!");

修改:

         QSqlQuery query;

      bool  value;

      value = query.exec(“update book name set name=“‘+name+'"”);

     if(value)

                          QMessageBox::information(this,"notice","add sucessful!");

            else

                          QMessageBox::information(this,"notice","add failed!");

 

  • 12
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值