• 4790阅读
  • 0回复

急!!qt连接sqlite数据库问题 [复制链接]

上一主题 下一主题
离线布莱德宝
 
只看楼主 倒序阅读 楼主  发表于: 2013-08-17
      本人刚刚接触qt,在使用qt sdk连接sqlite3数据库时出现问题。下面是对问题的描述:
      使用的qt版本为windows下的qt sdk,sqlite3数据库是在其官网下载的,sqlite3的安装目录为D:\special_ruanjian\sqlite3,这其中包含
sqlite3.def,sqlite3.dll,sqlite3.exe,sqlite3_analyzer.exe四个文件,我在机器上添加的sqlite3的环境变量也是D:\special_ruanjian\sqlite3,我的qt工程放在了H:\biancheng\Qt_lab\lizi\3下,我利用sqlite3.exe建立了一个数据,名字为dianming.db,开始建在了D:\special_ruanjian\sqlite3,而后我又复制了一份放在了H:\biancheng\Qt_lab\lizi\3下,3是我的工程文件夹。现在的问题是按照网上说的qt连接sqlite3的代码进行尝试,可是怎么也不能将数据库中的数据读出来,结果中间的tableView中什么都没有,希望各位大侠给予帮助。

代码如下:
1、连接数据库函数,我建立的sqlite数据库名称dianming.db. QSqlTableModel *userModel;
void sqldb::connectDB()
{  
  db = QSqlDatabase::addDatabase("QSQLITE");
  db.setDatabaseName("dianming.db");   //指定数据库名为dianming.db    
  if (!db.open())      
   {        
      QMessageBox::critical(NULL, "sqlDB","connect error");         return;      
  }
}
2、这是主窗体,想从dianming.db文件中将login表的数据取出来。其中QSqlTableModel  *userModel;  sqldb *db;sqldb是我建的一个类,包含连接函数。
MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow)
{    
   ui->setupUi(this);      
   db = new sqldb(this);  //建立      
   db->connectDB();        //连接  
   userModel=new QSqlTableModel(this);      
   this->userModel->clear();    //初始化用户模式      
   this->userModel = new QSqlTableModel;    //建立用户模式空间      
   userModel->setTable("login");    //设置用户模式    
  userModel->setHeaderData(0, Qt::Horizontal, "QQ");      
   userModel->setHeaderData(1, Qt::Horizontal, "昵称");      
   userModel->select();    
   ui->tableView->setModel(userModel);
快速回复
限100 字节
 
上一个 下一个