已有SQLITECIPHER驱动,但使用Qt连接时仍显示没有驱动


编译出的下图放在了对应的Qt数据库驱动中


Qt版本

数据库是SQLite3
SQLITECIPHER编译的是

使用SQLITECIPHER的test测试是总显示没驱动

这是为什么呀,why,我不理解,头秃.jpg
求解答
已有SQLITECIPHER驱动,但使用Qt连接时仍显示没有驱动


编译出的下图放在了对应的Qt数据库驱动中


Qt版本

数据库是SQLite3
SQLITECIPHER编译的是

使用SQLITECIPHER的test测试是总显示没驱动

这是为什么呀,why,我不理解,头秃.jpg
求解答
已解决,原来是qt的连接代码出错。
原连接代码
QSqlDatabase dbconn = QSqlDatabase::addDatabase("SQLITECIPHER");
dbconn.setDatabaseName(DB_FILE_PATH);
dbconn.setPassword("test");
dbconn.setConnectOptions("QSQLITE_USE_CIPHER=sqlcipher; QSQLITE_CREATE_KEY");
if (!dbconn.open()) {
qDebug() << "Can not open connection: " << dbconn.lastError().driverText();
exit(CONNECTION_FAILED);
}
根据SQLiteStudio添加有密码的数据时测试出的密码形式:wXSQLite3: AES 128 Bit

修改代码中的dbconn.setConnectOptions("QSQLITE_USE_CIPHER=sqlcipher; QSQLITE_CREATE_KEY");
dbconn.setConnectOptions("QSQLITE_USE_CIPHER=sqlcipher; QSQLITE_CREATE_KEY");
//将上面一行修改为下面一行;(QSQLITE_CREATE_KEY删去,不知道为什么创建密码失败,可能是已经有密码了???)
dbconn.setConnectOptions("QSQLITE_USE_CIPHER=aes128cbc");