zoukankan      html  css  js  c++  java
  • QSqlQuery 插入大量数据、碰到插入失败的跳过、继续插入

    void Widget::on_pushButton_2_clicked()
    {
        int number = 0;
    
    
        //开启事务
        if(db.transaction())
        {
            qDebug()<<"open ok";
        }
        else{
            qDebug()<<"open error";
        }
    
    
        QSqlQuery qq(db); //以下执行相关QSL语句
        qq.prepare("select * from net_clear_ent_info");
        qq.exec();
        int j = 0;
        while(qq.next())
        {
            qDebug()<<"数量: "<<j;
            j++;
            //获取手机号
            QString phone = qq.value(2).toString();
            if(phone.contains(","))
            {
                QStringList li_phone = phone.split(",");
    
    
                for(int j=0; j < li_phone.length(); j++)
                {
                    number++;
                    QString many_phone = li_phone[j].replace("-","");
    
    
                    QString str ="insert into phone_net_clear_ent_info (name,phone,address) values ('"+qq.value(1).toString()+"', '"+many_phone+"', '"+qq.value(3).toString()+"')";
                    QSqlQuery query;
                    query.exec(str);
                }
    
    
            }
            else
            {
                number++;
                QString clear_phone = phone.replace("-","");
    
    
                QString str1 ="insert into phone_net_clear_ent_info (name,phone,address) values ('"+qq.value(1).toString()+"', '"+clear_phone+"', '"+qq.value(3).toString()+"')";
                QSqlQuery query;
                query.exec(str1);
            }
    
    
            //提交事务
            if(db.commit())
            {
                qDebug()<<"commit ok";
            }
            else
                qDebug()<<"commit error";
                //失败以后可以进行回滚
    
    
        }
    
    
    
    
        qDebug()<<"一共这么多号码:"<<number;
    
    
    }
  • 相关阅读:
    sql DATEDIFF 函数
    电控宝 命令
    dart 函数练习
    json对象和json字符串有啥区别啊
    windows 下 node 入门
    windows 下Nginx 入门
    SQL十进制和十六进制相互转换
    Action向视图传值的6种方式(转)
    从匿名方法到 Lambda 表达式的推演过程
    vue 入门1 组件管理
  • 原文地址:https://www.cnblogs.com/yuanjia8888/p/15293760.html
Copyright © 2011-2022 走看看