qt批量插入数据

来源:互联网 发布:淘宝运动服 编辑:程序博客网 时间:2024/06/06 14:01
#include <QCoreApplication>#include <QSqlDatabase>#include <QSqlQuery>#include <QDebug>#include <QStringList>#include <QString>#include <QObject>#include <QSqlError>#include <QDate>int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);//    QStringList str_list_drivers = QSqlDatabase::drivers();//    for (int i = 0; i < str_list_drivers.size(); ++i)//    {//        qDebug() << str_list_drivers.at(i) ;//    }    /*创建一个新的sqlite数据库*/    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");//    db.setDatabaseName(QObject::tr("my.db"));    db.setDatabaseName(":memory:");    if(!db.open())    {        qDebug() << " can not open database !!!" << endl;        return -1 ;    }    QSqlQuery sql_query;//    if( !sql_query.exec(QObject::tr("create database mydatabase")))//    {//        qDebug() << "can not execute sql1 " << endl;//        return -2;//    }    if( !sql_query.exec(QObject::tr("create table Persons(person_id int primary key , sex varchar(255) , age int , hobbies varchar(255)  , birthday  date)")))    {        qDebug() << "can not execute sql2 " << endl;        return -2;    }    sql_query.prepare(QObject::tr("insert into Persons values(?,?,?,?,?)"));    QVariantList var_id_list , var_sex_list , var_age_list , var_hobbies_list , var_birthday_list;    var_id_list << 1 << 2 << 0 << 3 << 4 << 5;    var_sex_list << QObject::tr("man")<< QObject::tr("woman")<< QObject::tr("woman")                 << QObject::tr("man")<< QObject::tr("man")<< QObject::tr("woman");    var_age_list << 21 << 23 << 20 << 53 << 14 << 45;    var_hobbies_list << QObject::tr("swim")<< QObject::tr("read")<< QObject::tr("swim")                     << QObject::tr("read")<< QObject::tr("play")<< QObject::tr("football");    var_birthday_list << QObject::tr("1995-04-04")<< QObject::tr("1925-12-14")<< QObject::tr("2005-02-04")                      << QObject::tr("2014-02-11")<< QObject::tr("1995-04-04")<<QObject::tr("2007-04-04");    sql_query.addBindValue(var_id_list);    sql_query.addBindValue(var_sex_list);    sql_query.addBindValue(var_age_list);    sql_query.addBindValue(var_hobbies_list);    sql_query.addBindValue(var_birthday_list);    if(!sql_query.execBatch())        qDebug() << sql_query.lastError();    //以下执行相关sql语句    QSqlQuery query;    query.exec("select * from Persons where person_id >= 0");    //query.next()指向查找到的第一条记录,然后每次后移一条记录    while(query.next())    {        //query.value(0)是id的值,将其转换为int型        int value0 = query.value(0).toInt();        QString value1 = query.value(1).toString();        QDate value2 = query.value(4).toDate();        //输出两个值        qDebug() << value0 << value1 << value2 ;    }    return a.exec();}

原创粉丝点击