a1aa1 2014-09-04 12:26 采纳率: 0%
浏览 4628

求助: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 2014-09-05 01:41
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?