天嵌 ARM开发社区

 找回密码
 注册
查看: 2159|回复: 2

QSqlite数据库程序问题

[复制链接]
ArmFans123 发表于 2012-7-30 16:06:58 | 显示全部楼层 |阅读模式
本帖最后由 TQ-lkp 于 2012-7-31 09:36 编辑

写了个QSplite数据库程序:

#include <QApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlDriver>
#include <QSqlRecord>
#include <QSqlField>
#include <QDebug>
#include <QVariant>
#include <QStringList>
#include <QMessageBox>


static bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","c1");
    db.setDatabaseName("my1.db");
    if(!db.open())
    {
        QMessageBox::critical(0, "can't open database", "unable to connect", QMessageBox::Cancel);
        return false;
    }

    QSqlQuery query(db);
  
   qDebug<<"create table :";
    query.exec("create table student (id int primary key, "
             "name varchar(20))");
    query.exec("insert into student values(0, 'LiMing')");
    query.exec("insert into student values(1, 'LiuTao')");
    query.exec("insert into student values(2, 'WangHong')");

     return 1;
}

int main(int argc , char *argv[])
{
    int numRows;

    QApplication a(argc,argv);
    qDebug()<<"DRIVER:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver ,drivers)
        qDebug()<<driver;

    if(!createConnection())return 1;

    QSqlDatabase db = QSqlDatabase::database("c1");
    QSqlQuery query(db);

    query.exec("select * from student");
    while(query.next())
    {
        qDebug() << query.value(0).toInt() << query.value(1).toString();
    }
}

执行后打印
DRIVER:
"QSQLITE"
create table

无法读取表内容,不知为何?
TQ-lkp 发表于 2012-7-31 09:38:12 | 显示全部楼层
你缺少了打开数据库的代码,参考我们提供的源码
 楼主| ArmFans123 发表于 2012-7-31 10:36:57 | 显示全部楼层
请问下 你们提供的源码 在哪里呢? 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-6-12 18:06 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表