QT数据库操作(SQLITE)

项目文件为QDbTest,主要完成数据库中学生信息的增删改查,并显示到表格中。

主要界面:


添加和编辑信息界面


主要操作步骤为:

1.先创建界面,

2.数据库操作主要使用QSqlDatabase,QSqlQuery两个库

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");  
    db.setHostName("HostName");    //主机名
    db.setDatabaseName("StuManager.db");  //建立数据库文件名
    db.setUserName("xqch");   //用户名设置
    db.setPassword("123456");  //密码设置
建表:
 QSqlQuery query;
    bool success = query.exec("create table Student(create_date datetime,"
                              "id varchar(20)  primary key, name varchar(20),"
                              "sex varchar(20) , age INTEGER,address varchar(20) ,"
                              "phone varchar(12) ,description varchar(50))");
然后分别对刷新、添加、编辑、删除几个按钮添加槽函数

使用QList<QStringList>来保存从从数据库中查询到的内容

 QSqlQuery query("SELECT * FROM Student");
 
 
    QList<QStringList> stuInfo;
 
 
    while (query.next())
    {
        QStringList rowData ;
 
 
        rowData <<query.value(2).toString();  //学号和姓名换下
        rowData <<query.value(1).toString();
        rowData <<query.value(3).toString();
        rowData <<query.value(4).toString();
        rowData <<query.value(5).toString();
        rowData <<query.value(6).toString();
        rowData <<query.value(7).toString();
        rowData <<query.value(8).toString();
 
 
        stuInfo.append(rowData);     //学生信息全部存入QStringList
    }

刷新按钮槽函数:

void MainWindow::onBtnFresh()
{
    qDebug()<<"onBtnFresh";
    QList<QStringList> tableData;
 
 
    tableData = m_pCreateDb->selectDataFromBase();
    if(!tableData.isEmpty())
    {
        m_pStuManager->clearTableData();
        QListIterator<QStringList> itr(tableData);
        while(itr.hasNext())
        {
            m_pStuManager->appendRowData(itr.next());
        }
    }
}
编辑和删除主要通过信息中的ID来操作,具体不再赘述