关闭

嵌入式 QT数据库使用注意问题

636人阅读 评论(0) 收藏 举报
分类:

1、路径问题

2、检查数据库驱动问题

#include <stdlib.h>

#include <stdio.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    qDebug() <<"Available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
        qDebug() << "\t" << driver;


    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");//添加数据库驱动
    db.setDatabaseName("E:/MyQTProject/kjQt/QtMySql/kj.db");//数据库连接命名(表示的是建立在内存中的数据库,绝对路径使用一定是‘/’,原因是使用‘\’转义字符)
    if( !db.open())
    {
        return false;
    }
    QSqlQuery query;
    if( query.exec("create table student(id int primary k ey, name varchar)") )//新建表student 主键是id,名字是可变长度字符串
    {
        qDebug() <<"Create success !!!";
    }
    if( query.exec("insert into student values(1,'KongJun')"))
    {
        qDebug() <<"insert success !!!";
    }
    query.exec("insert into student values(2,'LiuXiaoWei')");
    query.exec("insert into student values(3,'ZhuShiWei')");//插入三条记录
    query.exec("select id,name from student where id >= 2");//查找表中id大于2的记录的id和姓名
    while( query.next())//query.next()指向查找的第一条记录,然后每次向后移动一条记录
    {
        int ele0 = query.value(0).toInt();//id的值转换为int型
        QString ele1 = query.value(1).toString();
        qDebug() << ele0 << ele1;
    }

    return a.exec();
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1049068次
    • 积分:18297
    • 等级:
    • 排名:第521名
    • 原创:741篇
    • 转载:523篇
    • 译文:0篇
    • 评论:105条
    最新评论