QT学习——QSqlQuery基本操作

发布时间:2024-01-18 13:00

  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()< }


        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!\");
 }

 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号