SqlGenerator_Oracle.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "SqlGenerator_Oracle.h"
  2. #include <qdebug.h>
  3. SqlGenerator_Oracle::SqlGenerator_Oracle()
  4. : QxSqlGenerator_Oracle()
  5. {
  6. setManageLastInsertId(true);
  7. setOldLimitSyntax(true);
  8. }
  9. SqlGenerator_Oracle::~SqlGenerator_Oracle()
  10. {
  11. }
  12. void SqlGenerator_Oracle::onBeforeInsert(qx::dao::detail::IxDao_Helper * pDaoHelper, void * pOwner) const
  13. {
  14. autoAssignUpdateTime(pDaoHelper, pOwner);
  15. QxSqlGenerator_Oracle::onBeforeInsert(pDaoHelper, pOwner);
  16. }
  17. void SqlGenerator_Oracle::onBeforeUpdate(qx::dao::detail::IxDao_Helper * pDaoHelper, void * pOwner) const
  18. {
  19. autoAssignUpdateTime(pDaoHelper, pOwner);
  20. QxSqlGenerator_Oracle::onBeforeUpdate(pDaoHelper, pOwner);
  21. }
  22. void SqlGenerator_Oracle::onBeforeSqlPrepare(qx::dao::detail::IxDao_Helper * pDaoHelper, QString & sql) const
  23. {
  24. }
  25. void SqlGenerator_Oracle::autoAssignUpdateTime(qx::dao::detail::IxDao_Helper * pDaoHelper, void * pOwner)const
  26. {
  27. qx::IxDataMemberX *pDataMembers = pDaoHelper->getDataMemberX();
  28. QString timeFieldName;
  29. if (pDataMembers->exist("UPDATETIME"))
  30. timeFieldName = "UPDATETIME";
  31. else if (pDataMembers->exist("IMPORTTIME"))
  32. timeFieldName = "IMPORTTIME";
  33. if (!timeFieldName.isEmpty())
  34. pDataMembers->get(timeFieldName)->fromVariant(pOwner, QDateTime::currentDateTime());
  35. }