Qt에서 SQLite3 데이터베이스에 대한 연결을 열려고한다고 가정합니다. 존재하는 데이터베이스 dbName
에 연결됩니다.Qt에서 데이터베이스 드라이버로 파일을 사용할 수 있는지 확인하는 방법
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
는 지금은 dbName
가 QFileDialog
를 통해 수신되는 db.setDatabaseName(dbName)
을 설정해야합니다.
그러나 dbName
이 유효한 파일 이름 인 경우 db.open()
은 항상 true
입니다. 어쨌든 dbName
파일이 SQLite3 데이터베이스인지 확인해야합니까? 지금 할 수있는 일은 쿼리를 실행하고 다음과 같은 오류를 확인하는 것입니다.
db.setDatabaseName(dbName);
if (db.open()) {
QSqlQuery qr(db);
if (!qr.exec(".database;")) {
qDebug() << qr.lastError().text();
return false;
}
}
파일이 비어 있으면 작동하지 않습니다.
응용 프로그램의 목적은 무엇입니까? * 모든 SQLite 데이터베이스를 열 수 있어야합니까? 아니면 자신의 응용 프로그램 파일에 액세스하고 싶습니까? –
그것은 SQLite 데이터베이스를 열 수 있어야합니다, 데이터를 읽고, 사용자가 수정하고 저장할 수 있습니다 – scmg