0
sqlite3 데이터베이스를 읽는 간단한 QT 프로그램이 있습니다. 실제 데이터베이스가 네트워크에 매핑 된 드라이브 (Windows 7)로 존재하지만 데이터베이스가 로컬 드라이브에있을 때 내 프로그램이 작동하지 않으면 내 프로그램이 실패합니다. 내가 사용하고있는 코드는 실험 목적을 위해 아래에 있습니다.Sqlite3 network oddity
QFileInfo fileInfo(m_lastDatabaseFile);
QString host = fileInfo.canonicalPath();
QString filename = fileInfo.fileName();
m_dataBase = QSqlDatabase::addDatabase("QSQLITE");
m_dataBase.setHostName(host);
m_dataBase.setDatabaseName(filename);
qDebug() << " valid: " << m_dataBase.isValid();
if (m_dataBase.open())
{
QStringList tableList = m_dataBase.tables(QSql::Tables);
qDebug() << "Database open.";
QSqlQuery query = m_dataBase.exec("SELECT * FROM PallolBoards");
qDebug() << "Found: " << query.size();
if (query.size() <= 0)
{
QSqlError err = query.lastError();
qDebug() << "Last error: " << err.text();
}
while (query.next())
{
QString title = query.value(0).toString();
qDebug() << "Query: " << title;
}
}
else
{
QMessageBox::critical(this,"Invalid database",m_dataBase.lastError().text());
}
아무 단서? 그래서 H : 실패하지만 D : 성공합니다.
예. 정확하고 성가신. 또한 내 코드는 단순했다. 아 ~. – ExpatEgghead