// ctest/qt/psql0/
// 28.6.2013
//
#include <QtGui>
#include <QtSql>
#include <QDebug>

int main(int argc, char* argv[]) {
   QApplication app(argc, argv);

   QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
   db.setHostName("localhost");
   db.setDatabaseName("wetter");
   db.setUserName("lagga");
   db.setPassword("0000");

   if (!db.open()) {
      QSqlError err =  db.lastError ();
      QMessageBox::information(0, QObject::tr("Fehler"), err.text());
      return 1;
   }
   QTextEdit edit_a, edit_b;
   QSqlQuery query;

   // Alle Daten abfragen
   query.exec("SELECT * FROM d0");
   QSqlRecord record = query.record();
   double sum_min=0, sum_max=0, min, max;
   double sum_nied=0, nied;
   double hydro, htemp;
   QString hy_str, min_str, max_str, nied_str, htemp_str;
   int i=0;
   QString  line="----------------------------\n";
   edit_a.append(line);

   while (query.next()) {
      ++i;
         line=query.value(record.indexOf("tag")).toString();
         line.append(QObject::tr(", "));

         min_str=query.value(record.indexOf("min")).toString();
         min=min_str.toDouble();


         max=query.value(record.indexOf("max")).toDouble();
         nied=query.value(record.indexOf("nied")).toDouble();
         hy_str=query.value(record.indexOf("hydr")).toString();
         htemp=query.value(record.indexOf("htemp")).toDouble();

         hydro=hy_str.toDouble();

         line.append(min_str);
         line.append(QObject::tr(", "));
         line.append(QString::number(max));
         line.append(QObject::tr(", "));
         line.append(hy_str);

         sum_min = sum_min+min;
         sum_max += max;
         sum_nied += nied;
         edit_a.append(line);
   }

  line="----------------------------\n";
  edit_a.append(line);
  edit_a.show();

  line=(QString::number(i));
  line.append(QObject::tr("\n sum_min "));
  line.append(QString::number(sum_min));
  line.append(QObject::tr(", minquer "));
  line.append(QString::number(sum_min/i,'f',2));
  line.append(QObject::tr("\n sum_max "));
  line.append(QString::number(sum_max));
  line.append(QObject::tr(", maxquer "));
  line.append(QString::number(sum_max/i,'f',2));
  line.append(QObject::tr("\n sum_nied "));
  line.append(QString::number(sum_nied,'f',2));

  edit_b.append(line);
  edit_b.show();

  return app.exec();
}
