示例#1
0
bool SQLiteMgr::sessionConfigurate(const DataMap &data)
{
    QSqlQuery query;
    if( ! data.isEmpty() )
    {
        QString query_string;
        for (auto i = 0; i < data.count(); i++) /// \warning TODO: БЫЛО <= ПРОВЕРИТЬ
        {
            query_string += "PRAGMA" + data.keys().at(i) + " = " + data.values().at(i) + " \n";
        }

        return query.exec(query_string);
    }
    return false;
}
示例#2
0
/*---------------------------------------------------------------------------
* MAIN
*---------------------------------------------------------------------------*/
int main(int argc, char *argv[])
{
   QStringList args;
   for( int i=1; i<argc; i++) args << argv[i];

   // usage
   if( (argc==1) || ((argc==2) && (args.at(0)=="--stdout")))
   {
      cerr << QObject::tr("dta2csv [--stdout] <Liste-von-DTA-Dateien>").toStdString() << endl;
      cerr << QObject::tr("  Copyright (C) 2015  [email protected], http://opendta.sf.net/").toStdString() << endl;
      cerr << QObject::tr("  Version: %1").arg(VERSION_STRING).toStdString() << endl;
      cerr << QObject::tr("  GNU General Public License Version 3").toStdString() << endl;
      cerr << QObject::tr("  powered by Qt framework").toStdString() << endl;
      return 0;
   }

   // globale variablen
   bool output2stdout = false;

   // Argumente untersuchen
   if (args.at(0) == "--stdout")
   {
      cerr << "Ausgabe wird nach stdout umgeleitet!" << endl;
      output2stdout = true;
      args.takeFirst();
   }

   // jede Datei einzeln bearbeiten
   DataMap data;
   for( int i=0; i<args.size(); i++)
   {
      QString fileName = args.at(i);
      cerr << QObject::tr("konvertiere Datei: ").toStdString() << fileName.toStdString() << endl;

      // Datei oeffnen
      DtaFile *dta = new DtaFile(fileName);
      if( !dta->open())
      {
         // Fehlertext wird beireits in DtaFile geschrieben
         delete dta;
         continue;
      }

      // Datei einlesen
      dta->readDatasets(&data);

      if( !output2stdout && !data.isEmpty())
      {
         // Ausgabedatei oeffnen
         QFile fOut(fileName+".csv");
         if (!fOut.open(QIODevice::WriteOnly | QIODevice::Text))
         {
            qWarning() << QString(QObject::tr("FEHLER: beim \326ffnen der CSV-Datei '%1'!")).arg(fileName+".csv");
            delete dta;
            continue;
         }

         // Daten schreiben
         outputData( &fOut, &data);

         // Ausgabedatei schliessen
         fOut.close();

         // Daten loeschen
         data.clear();

      } // if !output2stdout && !data.isEmpty

      delete dta;
   } // foreach file

   // Ausgabe nach stdout
   if (output2stdout)
   {
      cerr << "schreibe Ergebnis" << endl;
      QFile fOut;
      //fOut.open( stdout, QIODevice::WriteOnly | QIODevice::Text);
      fOut.open( stdout, QIODevice::WriteOnly);
      outputData( &fOut, &data);
      fOut.close();
   }

} // main