QT访问QSqlite数据库的实例

QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。
QSqlDatabase对象象征了数据库的关联。Qt使用驱动程序与各种数据库的应用编程接口进行通信。Qt的桌面版(Desktop Edition)包括如下一些驱动程序:

 驱动程序数据库 
 QDB2IBM DB2 7.1版以及更新的版本 
 QIBASEBorland InterBase
 QMySQLMySql 
 QOCI甲骨文公司(Oracle Call Interface)
 QODBC ODBC(包括微软公司的QSL服务)
 QPSQL PostgreSQL的7.3版以及更高版本 
 QSQLITEQSLite第3版 
 QSQLITE2QSLite第2版

为丰顺等地区用户提供了全套网页设计制作服务,及丰顺网站建设行业解决方案。主营业务为成都网站建设、网站制作、丰顺网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

 QTDS Qybase自适应服务器 

访问QSqlite数据库的实例:

步骤:

1、创建Qt控制台程序。
2、在pro问价中添加QT +=sql;
3、在main.cpp中添加如下代码:

[cpp] view plain copy print?QT访问QSqlite数据库的实例QT访问QSqlite数据库的实例

  1. #include   

  2. #include   

  3. #include   

  4. #include   

  5. #include   

  6. #include   

  7. #include   

  8. #include   

  9. #include   

  10.   

  11. int main(int argc, char *argv[])  

  12. {  

  13.     QCoreApplication a(argc, argv);  

  14.   

  15.     QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE");  

  16.   

  17.     database.setDatabaseName("CashSystem.db");  

  18.   

  19.     if(database.open())  

  20.     {  

  21.         qDebug()<<"Database Opened";  

  22.   

  23.         QSqlQuery sql_query;  

  24.         QString create_sql = "create table member (id int primary key, name varchar(30), address varchar(30))"; //创建数据表  

  25.         QString insert_sql = "insert into member values(?,?,?)";    //插入数据  

  26.   

  27.         QString select_all_sql = "select * from member";  

  28.   

  29.         sql_query.prepare(create_sql); //创建表  

  30.         if(!sql_query.exec()) //查看创建表是否成功  

  31.         {  

  32.             qDebug()<

  33.             qDebug()<

  34.         }  

  35.         else  

  36.         {  

  37.             qDebug()<< "Table Created" ;  

  38.   

  39.             //插入数据  

  40.             sql_query.prepare(insert_sql);  

  41.   

  42.             QVariantList GroupIDs;  

  43.             GroupIDs.append(0);  

  44.             GroupIDs.append(1);  

  45.             GroupIDs.append(2);  

  46.   

  47.             QVariantList GroupNames;  

  48.             GroupNames.append("hsp");  

  49.             GroupNames.append("rl");  

  50.             GroupNames.append("spl");  

  51.   

  52.             QVariantList GroupAddress;  

  53.             GroupAddress.append("南充");  

  54.             GroupAddress.append("宝鸡");  

  55.             GroupAddress.append("南充");  

  56.   

  57.             sql_query.addBindValue(GroupIDs);  

  58.             sql_query.addBindValue(GroupNames);  

  59.             sql_query.addBindValue(GroupAddress);  

  60.   

  61.             if(!sql_query.execBatch())  

  62.             {  

  63.                 qDebug()<

  64.             }  

  65.             else  

  66.             {  

  67.                 qDebug()<<"插入记录成功";  

  68.             }  

  69.   

  70.             //查询所有记录  

  71.             sql_query.prepare(select_all_sql);  

  72.             if(!sql_query.exec())  

  73.             {  

  74.                 qDebug()<

  75.             }  

  76.             else  

  77.             {  

  78.                 while(sql_query.next())  

  79.                 {  

  80.                     int id = sql_query.value(0).toInt();  

  81.                     QString name = sql_query.value(1).toString();  

  82.                     QString address = sql_query.value(2).toString();  

  83.                     qDebug()<

  84.                 }  

  85.             }  

  86.         }  

  87.     }  

  88.     database.close();  

  89.    // QFile::remove("CashSystem.db");  

  90.     return a.exec();  

  91. }  


4、运行截图:

QT访问QSqlite数据库的实例


名称栏目:QT访问QSqlite数据库的实例
文章源于:http://hbruida.cn/article/gjcphj.html