databasethread.cpp 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #include "databasethread.h"
  2. #define HostName "172.17.35.51"
  3. #define HostPort 3306
  4. #define UserName "usky"
  5. #define PassWord "Yt#75Usky"
  6. #define DatabaseName "usky-park"
  7. DatabaseThread::DatabaseThread(QObject *parent) : QThread(parent)
  8. {
  9. hour = 255;
  10. keep=false;
  11. sqlList.clear();
  12. alarmList.clear();
  13. db = QSqlDatabase::addDatabase("QMYSQL","write_db");
  14. db.setHostName(QString(HostName));
  15. db.setPort(HostPort);
  16. db.setUserName(QString(UserName));
  17. db.setPassword(QString(PassWord));
  18. db.setDatabaseName(QString(DatabaseName));
  19. }
  20. void DatabaseThread::appendSql(QString sql)
  21. {
  22. sqlList.append(sql);
  23. }
  24. void DatabaseThread::appendAlarm(QString sql)
  25. {
  26. alarmList.append(sql);
  27. }
  28. void DatabaseThread::stop()
  29. {
  30. keep = false;
  31. }
  32. void DatabaseThread::run()
  33. {
  34. keep = true;
  35. while (keep) {
  36. if(!db.open()){
  37. emit dbdata_log(QString("[%1] agGeneratorProcess DatabaseThread db open failed").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss.zzz")));
  38. }else{
  39. if(sqlList.length()>0){
  40. while (sqlList.length()>0) {
  41. emit dbdata_log(QString("[%1] agGeneratorProcess sql %2").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss.zzz")).arg(sqlList.first()));
  42. db.exec(sqlList.first());
  43. sqlList.removeFirst();
  44. usleep(1000);
  45. }
  46. }
  47. if(alarmList.length()>0){
  48. while (alarmList.length()>0) {
  49. db.exec(alarmList.first());
  50. emit dbdata_log(QString("[%1] agGeneratorProcess alarm sql %2").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss.zzz")).arg(alarmList.first()));
  51. alarmList.removeFirst();
  52. usleep(1000);
  53. }
  54. }
  55. }
  56. usleep(50000);
  57. }
  58. }