2 a1aa1 a1aa1 于 2014.09.04 20:26 提问

求助:QT无法操作已有的sqlite数据库

版本:qt5.3 sqlite2.7
描述:
1.qt在代码中建的库和表代码中可以随意操作,但终端sqlite命令打不开提示“unable to open …… file is encryped or is not a database”
2.在终端通过命令建的数据库qt代码中 可以.open()但无法操作 找不到表

bool Data::connect(QString usrType)
{
//stDB = QSqlDatabase::addDatabase("QSQLITE");
stDB = new QSqlDatabase(QSqlDatabase::addDatabase("QSQLITE", "connectname"));
stDB->setDatabaseName("./DB/" + usrType);
if (stDB->open())
{
//QMessageBox::information(NULL, "数据库", "connect!");
return true;
}
else
{
QMessageBox::critical(NULL, "数据库", "connect error");
}
return false;
}

int Data::check_usr(QString str_name, QString str_pwd, int flag)
{
int usr_flag = 0;
//QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QSqlQuery query(*stDB);
if(query.exec("select * from users"))
{
while(query.next())
{
QString name = query.value(0).toString();
QString pwd = query.value(1).toString();
if(name == str_name && pwd == str_pwd)
{
if(name == "admin")
{
return usr_flag;
}
return usr_flag + flag;
}
}
}
return -1;
}

1个回答

a1aa1
a1aa1   2014.09.05 09:41

自己解决了 版本不兼容 qt5生成的事sqlite3文件 竟然不兼容?

Csdn user default icon
上传中...
上传图片
插入图片