项目文件为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来操作,具体不再赘述