QSqlDatabase操作数据库sqlite3

时间:2021-10-21 05:28:13

http://blog.csdn.net/liukang325/article/details/22735339


基本打开数据库,执行SQL语句:

[cpp]  view plain  copy   QSqlDatabase操作数据库sqlite3 QSqlDatabase操作数据库sqlite3
  1. static const char* DBName = "./test.db";  
  2. QFileInfo file(DBName);  
  3. if(file.exists() == false)  
  4. {  
  5.     QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");  
  6.     db.setDatabaseName(DBName); //设置数据库名  
  7.   
  8.     if (!db.open())  
  9.     {  
  10.         qDebug("数据库不能打开");  
  11.         return -1;  
  12.     }  
  13.   
  14.     QSqlQuery query;  
  15.     ///创建卡号数据库  
  16.     query.exec("CREATE TABLE tb_card(cardNum varchar(64) PRIMARY KEY, name varchar(64), job varchar(64))");  
  17.     query.clear();  
  18.  }  

select查询获取数据:

[cpp]  view plain  copy   QSqlDatabase操作数据库sqlite3 QSqlDatabase操作数据库sqlite3
  1. QSqlQuery query(dbConn);  
  2. QString sqlStr;  
  3. sqlStr.append("select * from tb_card");  
  4. bool isSuccess = query.exec(sqlStr);  
  5.   
  6. QString cardNum, name, job;  
  7. int i = 0;  
  8. while(query.next()) //query.next()指向查找到的第一条记录,然后每次后移一条记录  
  9. {  
  10.     cardNum.clear();  
  11.     name.clear();  
  12.     job.clear();  
  13.     cardNum.append(query.value(0).toString());  
  14.     name.append(query.value(1).toString());  
  15.     job.append(query.value(2).toString());  
  16. }  


记得在pro文件中加入:

QT       += core gui sql