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; }
/*--------------------------------------------------------------------------- * 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