qt如何用sqlite读取现有的数据库文件?

时间:2020-12-26 08:18:50
如题,我现在有一个数据库文件ciku.db(是通过excel表保存为Unicode文本文件,再通过sqlite3.exe工具导入到表,后导出为db文件得来的),请问如何用qt中的sqlite来读取ciku.db里面的内容,并将其显示在TableView或TableWidget里面呢?

3 个解决方案

#1


如果是tableView,试试这两个QSqlTableModel  QSqlDatabase  

#2


引用 1 楼  的回复:
如果是tableView,试试这两个QSqlTableModel  QSqlDatabase


能否指点一下,我的QQ460947384,不胜感激

#3



void mainwidget::open_database()
{
    db=QSqlDatabase::addDatabase("QSQLITE");
    QString filename=QFileDialog::getOpenFileName(this,tr("Choose a database"),"~");
    db.setDatabaseName(filename);
    setWindowTitle(filename);
    if(!db.open())
    {
        QMessageBox::warning(0,"Link Fail!","Please choose a SQLite3 database");
    }
    table_list->addItems(db.tables());
    form=new QSqlTableModel(this,db);
    form->setTable(table_list->itemText(0));
    form->select();
    browser->setModel(form);
    for(int i=0;i<=form->columnCount()-1;++i)
    {
        field_list->addItem(form->headerData(i,Qt::Horizontal).toString());
    }
}
这个是我写的一个程序的一部分代码,楼主可以看一下

#1


如果是tableView,试试这两个QSqlTableModel  QSqlDatabase  

#2


引用 1 楼  的回复:
如果是tableView,试试这两个QSqlTableModel  QSqlDatabase


能否指点一下,我的QQ460947384,不胜感激

#3



void mainwidget::open_database()
{
    db=QSqlDatabase::addDatabase("QSQLITE");
    QString filename=QFileDialog::getOpenFileName(this,tr("Choose a database"),"~");
    db.setDatabaseName(filename);
    setWindowTitle(filename);
    if(!db.open())
    {
        QMessageBox::warning(0,"Link Fail!","Please choose a SQLite3 database");
    }
    table_list->addItems(db.tables());
    form=new QSqlTableModel(this,db);
    form->setTable(table_list->itemText(0));
    form->select();
    browser->setModel(form);
    for(int i=0;i<=form->columnCount()-1;++i)
    {
        field_list->addItem(form->headerData(i,Qt::Horizontal).toString());
    }
}
这个是我写的一个程序的一部分代码,楼主可以看一下