ScaleInfoService.cpp 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include "ScaleInfoService.h"
  2. #include "SqlDBHelper.h"
  3. #include <QDebug>
  4. ScaleInfoService::ScaleInfoService(QObject *parent) { }
  5. int ScaleInfoService::AddScaleInfo(const ScaleInfo &scaleInfo)
  6. {
  7. int ret = -1;
  8. try {
  9. Transaction t(SqlDBHelper::getDatabase());
  10. InsertQuery query = t.insertInto("t_scale_info(`project_id`, `scale_name`, `scale_value`)");
  11. NonQueryResult result = query.values(scaleInfo.projectId, scaleInfo.scaleName, scaleInfo.scaleValue).exec();
  12. t.commit();
  13. ret = result.lastInsertId().toInt();
  14. } catch (const DBException &ex) {
  15. qDebug() << ex.lastError.text();
  16. }
  17. return ret;
  18. }
  19. bool ScaleInfoService::UpdateScaleInfo(const ScaleInfo &scaleInfo)
  20. {
  21. bool ret = false;
  22. try {
  23. Transaction t(SqlDBHelper::getDatabase());
  24. t.update("t_scale_info")
  25. .set("scale_name", scaleInfo.scaleName)
  26. .set("scale_value", scaleInfo.scaleValue)
  27. .where("id = ?", scaleInfo.id);
  28. t.commit();
  29. ret = true;
  30. } catch (const DBException &ex) {
  31. qDebug() << ex.lastError.text();
  32. }
  33. return ret;
  34. }
  35. bool ScaleInfoService::QueryScaleByProjectId(ScaleInfo *scaleInfo, int projectId)
  36. {
  37. QSqlDatabase db = SqlDBHelper::getDatabase();
  38. QSqlQuery query(db);
  39. bool ret = false;
  40. QString selectSql = QString("SELECT id, project_id,scale_name,scale_value FROM "
  41. "t_scale_info WHERE project_id = %1")
  42. .arg(projectId);
  43. if (query.exec(selectSql)) {
  44. if (query.next()) {
  45. if (query.isNull(0) == false) {
  46. scaleInfo->id = query.value(0).toInt();
  47. scaleInfo->projectId = query.value(1).toInt();
  48. scaleInfo->scaleName = query.value(2).toString();
  49. scaleInfo->scaleValue = query.value(3).toString();
  50. }
  51. ret = true;
  52. }
  53. } else {
  54. qDebug() << query.lastError();
  55. }
  56. return ret;
  57. }