sqlite-add

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;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值