当前位置: 代码迷 >> 综合 >> sqlite-add
  详细解决方案

sqlite-add

热度:60   发布时间:2024-01-29 05:11:30.0
int Administrative_affaires_dao::add(QSharedPointer<AdministrativeAffaires> obj)
{QSqlQuery query(database_);// 先查询是否有一条一样的记录(根据时间)quint32 udsn = 0;QString cmd = QString("SELECT count(*) FROM %1 WHERE GenerateTime=:generateTime").arg(QString::fromStdString(kTableAdminAffaires));bool prepare_flag = query.prepare(cmd);if (!prepare_flag) return -1;query.bindValue(":generateTime",obj->generateTime());query.exec();if(query.next()){udsn = query.value(0).toInt();}cmd = QString("INSERT INTO %1").arg(QString::fromStdString(kTableAdminAffaires));prepare_flag = query.prepare(cmd + " (Udsn,GenerateTime,StationId,OperatorId,WatchId," +"AffairsType,TransAmount,ActualAmount,ReasonType," +"FaultDeviceId,Payment,Note,BatchNum,Flag) " +"VALUES (:Udsn,:GenerateTime,:StationId,:OperatorId,:WatchId," +":AffairsType,:TransAmount,:ActualAmount,:ReasonType," +":FaultDeviceId,:Payment,:Note,:batch,:flag);");qDebug() << query.executedQuery();if(!prepare_flag) return -1;query.bindValue(":Udsn", udsn);query.bindValue(":GenerateTime",obj->generateTime());query.bindValue(":StationId",obj->stationId());query.bindValue(":OperatorId",obj->operatorId());query.bindValue(":WatchId",obj->watchId());query.bindValue(":AffairsType",obj->affairsType());query.bindValue(":TransAmount",obj->transAmount());query.bindValue(":ActualAmount",obj->actualAmount());query.bindValue(":ReasonType",obj->reasonType());query.bindValue(":FaultDeviceId",obj->faultDeviceId());query.bindValue(":Payment",obj->payment());query.bindValue(":Note",obj->note());query.bindValue(":batch",obj->batchNum());query.bindValue(":flag", 0);bool ret = query.exec();return ret ? 0 : -2;
}

 

  相关解决方案