0

Qt で SQL Compact Server ファイル .sdf を開こうとしています。次のコードがあります。

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("C:\\testresults.sdf");
bool Success = db.open();

sprintf(writeToMonitorBuffer, "dblastError = %s", (const char *)db.lastError().text().toLatin1());
writeToMonitor(writeToMonitorBuffer);

sprintf(writeToMonitorBuffer, "db.open(): Success/Fail = %s", Success ? "Pass" : "Fail");
writeToMonitor(writeToMonitorBuffer);

エラーメッセージが表示されます:

dblastError = [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified QODBC3: Unable to connect

そして私は得る:

db.open(): Success/Fail = Fail

どうすればこれを解決できますか?

4

1 に答える 1

1

\は C++ のエスケープ シーケンスに使用されるため、代わりに次のようにする必要があります。

db.setDatabaseName("C:\\testresults.sdf");

于 2015-08-28T20:06:15.697 に答える