Ejemplo n.º 1
0
bool ConnectionData::passwordNeeded() const
{
    DriverManager mananager;
    DriverInfo info = mananager.driverInfo(d->driverName);
    const bool fileBased = info.isValid() && info.isFileBased();

    return !d->savePassword && !fileBased; //!< @todo temp.: change this if there are
                                           //!< file-based drivers requiring a password
}
Ejemplo n.º 2
0
QString ConnectionData::serverInfoString(ServerInfoStringOptions options) const
{
    if (!d->driverName.isEmpty()) {
        DriverManager mananager;
        const DriverInfo info = mananager.driverInfo(d->driverName);
        if (info.isValid() && info.isFileBased()) {
            if (d->databaseName.isEmpty()) {
                return QObject::tr("<file>");
            }
            else {
                return QObject::tr("file: %1").arg(d->databaseName);
            }
        }
    }
    return ((d->userName.isEmpty() || !(options & AddUserToServerInfoString)) ? QString() : (d->userName + QLatin1Char('@')))
           + (d->hostName.isEmpty() ? QLatin1String("localhost") : d->hostName)
           + (d->port != 0 ? (QLatin1Char(':') + QString::number(d->port)) : QString());
}
Ejemplo n.º 3
0
bool TestSqlParser::openDatabase(const QString &path)
{
    QString driverName("sqlite");
    DriverManager manager;
    qDebug() << manager.driverNames();
    Driver *driver = manager.driver(driverName);
    if (!driver || manager.result().isError()) {
        qDebug() << manager.result();
        return false;
    }

    ConnectionData cdata;
    cdata.setDatabaseName(path);
    m_conn.reset(driver->createConnection(cdata));
    if (!m_conn || driver->result().isError()) {
        qDebug() << driver->result();
        return false;
    }
    if (!m_conn->connect()) {
        qDebug() << m_conn->result();
        return false;
    }
    m_parser.reset(new Parser(m_conn.data()));
#if 0
    if (m_conn->databaseExists(dbName)) {
        if (!m_conn->dropDatabase(dbName)) {
            m_conn->disconnect();
            return false;
        }
        qDebug() << "Database" << dbName << "dropped.";
    }
    if (!m_conn->createDatabase(dbName)) {
        qDebug() << m_conn->result();
        m_conn->disconnect();
        return false;
    }
#endif
    if (!m_conn->useDatabase()) {
        qDebug() << m_conn->result();
        m_conn->disconnect();
        return false;
    }
    return true;
}
Ejemplo n.º 4
0
QString ConnectionData::serverInfoString(bool addUser) const
{
	const QString& i18nFile = i18n("file");
	
	if (!m_dbFileName.isEmpty())
		return i18nFile+": "+(m_dbPath.isEmpty() ? "" : m_dbPath 
			+ QDir::separator()) + m_dbFileName;
	
	DriverManager man;
	if (!driverName.isEmpty()) {
		Driver::Info info = man.driverInfo(driverName);
		if (!info.name.isEmpty() && info.fileBased)
			return QString("<")+i18nFile+">";
	}
	
	return ( (userName.isEmpty() || !addUser) ? QString("") : (userName+"@"))
		+ (hostName.isEmpty() ? QString("localhost") : hostName)
		+ (port!=0 ? (QString(":")+QString::number(port)) : QString::null);
}
Ejemplo n.º 5
0
QString KexiDB::defaultFileBasedDriverName()
{
    DriverManager dm;
    return dm.lookupByMime(KexiDB::defaultFileBasedDriverMimeType()).toLower();
}
Ejemplo n.º 6
0
QString Driver::defaultFileBasedDriverName()
{
	DriverManager dm;
	return dm.lookupByMime(Driver::defaultFileBasedDriverMimeType()).lower();
}