| 469 | } |
| 470 | |
| 471 | int WorkThread::exportData(std::vector<ImpExpData> &vImpExpData, int taskid) |
| 472 | { |
| 473 | if(vImpExpData.size() <= 0) |
| 474 | return 0; |
| 475 | |
| 476 | if(!_db) |
| 477 | _db = new QSqlDatabase(); |
| 478 | |
| 479 | if(!_db->isValid()) { |
| 480 | if(taskid == THREAD_BATCH_OEM_KEY_TASK) { |
| 481 | _dbMgr.setCfg(ORACLE_DB, ORACLE_DRIVE); |
| 482 | _sql = QString( |
| 483 | "INSERT INTO %1 (ID,DB_INDEX,STATE,WEIGHT,TIME_OUT," |
| 484 | "KEY,KEY_TYPE,FILED,VALUE, EXP_DATE) VALUES " |
| 485 | "(?,%2,?,?,?,?,?,?,?,TO_DATE(?, 'yyyymmddhh24miss'))") |
| 486 | .arg(_tableName).arg(_dbindex); |
| 487 | } else if(taskid == THREAD_BATCH_MEM_KEY_TASK) { |
| 488 | _dbMgr.setCfg(MYSQL_DB, MYSQL_DRIVE); |
| 489 | _sql = QString( |
| 490 | "INSERT INTO `%1` (ID,`DB_INDEX`,`STATE`,`WEIGHT`," |
| 491 | "`TIME_OUT`, `KEY`,`KEY_TYPE`,`FILED`,`VALUE`, " |
| 492 | "`EXP_DATE`) VALUES (?,%2,?,?,?,?,?,?,?,STR_TO_DATE(?," |
| 493 | "'%Y%m%d%H%i%s'))") |
| 494 | .arg(_tableName).arg(_dbindex); |
| 495 | } |
| 496 | _dbMgr.setLable(QString("%1%2%3"). |
| 497 | arg(_dbMgr.lable()).arg(_thread).arg(_dbindex)); |
| 498 | |
| 499 | if(!_dbMgr.getDb(_db)) { |
| 500 | _string = _dbMgr.error(); |
| 501 | return -1; |
| 502 | } |
| 503 | } |
| 504 | |
| 505 | QSqlQuery sql_query(*_db); |
| 506 | sql_query.prepare(_sql); |
| 507 | QVariantList v0, v1, v2, v3, v4, v5, v6, v7, v8; |
| 508 | for(std::size_t i = 0; i < vImpExpData.size(); ++i) { |
| 509 | v0 << PubLib::getSequenceId() ; |
| 510 | v1 << vImpExpData[i].iState; |
| 511 | v2 << vImpExpData[i].lWeight; |
| 512 | v3 << vImpExpData[i].lTimeOut; |
| 513 | v4 << vImpExpData[i].sKey; |
| 514 | v5 << vImpExpData[i].sKeyType; |
| 515 | v6 << vImpExpData[i].sFiled; |
| 516 | v7 << vImpExpData[i].sValue; |
| 517 | v8 << vImpExpData[i].sExpDate; |
| 518 | } |
| 519 | sql_query.addBindValue(v0); |
| 520 | sql_query.addBindValue(v1); |
| 521 | sql_query.addBindValue(v2); |
| 522 | sql_query.addBindValue(v3); |
| 523 | sql_query.addBindValue(v4); |
| 524 | sql_query.addBindValue(v5); |
| 525 | sql_query.addBindValue(v6); |
| 526 | sql_query.addBindValue(v7); |
| 527 | sql_query.addBindValue(v8); |
| 528 | |