/// get initial db file from text cache
bool preferences::initDB(){
    bool found = false;
    char PrefIn[100];
    FILE* fp;
    string tempcache = TEMPCACHE;
    string Cache = getenv("HOME") + tempcache;
            fp = fopen(Cache.c_str(), "r");   /// open cached db location

    if(fp != NULL){
        rewind(fp);
        while(!feof(fp)){
            fscanf(fp, "%s", &PrefIn);
            found = true;

        }
    }
    else{
        return false;
    }

    if(found){   // if the db (listed in this text cache) exists
        setSQL(PrefIn);  /// set SQL location
        readDB();   // read that db
        fclose(fp);
        return true;
    }
    else{
        fclose(fp);
        return false;
    }
}
/// read preference table from sql
void preferences::readDB(){
    OpenDB();
    int count = 0;
    if(db2.open()){
    QSqlQuery query(db2);

     query = QString("SELECT * FROM pref");

     while (query.next()){
         QString QVal1 = query.value(1).toString();
         QString QVal2 = query.value(2).toString();
         QString QVal3 = query.value(3).toString();
         QString QVal4 = query.value(4).toString();
         QString QVal5 = query.value(5).toString();
         QString QVal6 = query.value(6).toString();
         QString QVal7 = query.value(7).toString();


         setUser(QVal1.toStdString());
         setPass(QVal2.toStdString());
         setServ(QVal3.toStdString());
         setPort(QVal4.toStdString());
         setTable(QVal5.toStdString());
         setSQL(QVal6.toStdString());
         setPlaylistDir(QVal7.toStdString());
     }
    db2.close();
    }

}
/// read preference table from sql
void preferences::readDB(){

    if(QFile::exists(DBlocation.c_str())){
        db2 = QSqlDatabase::addDatabase("QSQLITE");
        db2.setDatabaseName(DBlocation.c_str());
        if(db2.open()){
            QSqlQuery query(db2);

            query = QString("SELECT * FROM pref");

            while (query.next()){
                QString QVal1 = query.value(1).toString();
                QString QVal2 = query.value(2).toString();
                QString QVal3 = query.value(3).toString();
                QString QVal4 = query.value(4).toString();
                QString QVal5 = query.value(5).toString();
                QString QVal6 = query.value(6).toString();


                setUser(QVal1.toStdString());
                setPass(QVal2.toStdString());
                setServ(QVal3.toStdString());
                setPort(QVal4.toStdString());
                setTable(QVal5.toStdString());
                setSQL(QVal6.toStdString());
            }
        }

        db2.removeDatabase("QSQLITE");
    }

}
preferences& preferences::operator=(const preferences& src){

    if(this != &src)
    {
        setUser(src.USER);
        setPass(src.PASS);
        setServ(src.SERVER);
        setPort(src.PORT);
        setTable(src.TABLE);
        setSQL(src.DBlocation);
    }
    return *this;
}
Exemple #5
0
toResultSchema::toResultSchema(QWidget *parent,
                               const char *name)
    : toResultCombo(parent, name)
{
    setSQL(toSQL::sql(toSQL::TOSQL_USERLIST));

    toConnection &conn = toConnection::currentConnection(parent);
    ConnectionKey =
        conn.provider() + "-" +
        conn.user() + "-" +
        conn.host() + "-" +
        conn.database();

    QString sel = conn.defaultSchema();

    if (sel.isEmpty())
    {
        QSettings s;
        sel = s.value("schema/" + ConnectionKey).toString();
    }

    if (sel.isEmpty())
    {
        if (conn.providerIs("QMYSQL"))
            sel = conn.database();
        else
            sel = conn.user();
    }

    // Oracle usernames are always in upper case
    if (conn.providerIs("Oracle") || conn.providerIs("SapDB"))
        sel = sel.toUpper();

    setSelected(sel);
    setParams(toQueryParams()); // sets QueryReady = true;
    if (SelectedFound)
        conn.setDefaultSchema(sel);
    connect(this, SIGNAL(currentIndexChanged(const QString &)),
            this, SLOT(updateLastSchema(const QString &)));

    connect(&(connection().getCache()), SIGNAL(userListRefreshed()),
            this, SLOT(slotUsersFromCache()));
    setFocusPolicy(Qt::NoFocus);
}
Exemple #6
0
toResultResources::toResultResources(QWidget *parent, const char *name)
    : toResultItem(3, true, parent, name)
{
    setSQL(SQLResource);
}
 toProfilerUnits(QWidget *parent)
         : toResultLong(true, false, toQuery::Normal, parent)
 {
     setColumnAlignment(3, Qt::AlignRight);
     setSQL(SQLListUnits);
 }