问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

QT中如何用界面对数据库的直接操作,包括查询和连接

发布网友 发布时间:2022-04-07 19:29

我来回答

3个回答

懂视网 时间:2022-04-07 23:50

QMYSQL"); db.setHostName("localhost"); db.setDatabaseName("ghcDB"); db.setUserName("root"); db.setPassword("123456");
if(!db.open()) { qDebug()<<db.lastError().text()<<endl; return false; }

2、增

QSqlTableModel *modelTable=new QSqlTableModel(this);
modelTable->setTable(strTableName);
modelTable->select();
int row=modelTable->rowCount();
modelTable->insertRows(row,1); modelTable->setData(modelTable->index(row,0),addDataDlg.editName->text()); if("男"==addDataDlg.comboSex->currentText()) modelTable->setData(modelTable->index(row,1),"M"); if("女"==addDataDlg.comboSex->currentText()) modelTable->setData(modelTable->index(row,1),"F"); modelTable->setData(modelTable->index(row,2),addDataDlg.editAge->text());
modelTable->submitAll();

3、删

QSqlTableModel *modelTableInfoOldSelected=new QSqlTableModel(this); 
modelTableInfoOldSelected->setTable(strTableName);
modelTableInfoOldSelected->select();

modelTableInfoOldSelected->removeRows(rowSelected,1);

modelTableInfoOldSelected->submitAll();

4、改

QSqlTableModel *modelTable=new QSqlTableModel(this);
modelTable->setTable(strTableName);
modelTable->select();

int row=rowSelected;
modelTable->setData(modelTable->index(row,0),changeDataDlg.editName->text()); if("男"==changeDataDlg.comboSex->currentText()) modelTable->setData(modelTable->index(row,1),"M"); if("女"==changeDataDlg.comboSex->currentText()) modelTable->setData(modelTable->index(row,1),"F"); modelTable->setData(modelTable->index(row,2),changeDataDlg.editAge->text());
modelTable->submitAll();

5、查

QSqlQueryModel *modelQuery=new QSqlQueryModel;
modelQuery->setQuery(tr("select Name,Sex,Age from %1").arg(strTableName));
modelQuery->setHeaderData(0,Qt::Horizontal,tr("姓名")); modelQuery->setHeaderData(1,Qt::Horizontal,tr("性别")); modelQuery->setHeaderData(2,Qt::Horizontal,tr("年龄"));
tableView->setModel(modelQuery);

6、读取数据库某一条记录中各字段的值给控件

QSqlTableModel *modelTableInfoOldSelected=new QSqlTableModel(this); 
modelTableInfoOldSelected->setTable(strTableName); 
modelTableInfoOldSelected->select();

QSqlRecord record=modelTableInfoOldSelected->record(rowSelected);

editName->setText(record.value("Name").toString());
if("M"==record.value("Sex").toString())
 comboSex->setCurrentIndex(0);
else if("F"==record.value("Sex").toString())
 comboSex->setCurrentIndex(1);
editAge->setText(record.value("Age").toString());

参考连接:http://blog.csdn.net/light1028/article/details/8164476

Qt数据库操作

标签:

热心网友 时间:2022-04-07 20:58

qt中有qtsql模块支持该操作,底层一般都是用驱动插件实现的,利用的是sqlite数据库,相关的类有
qsqldatabase, qsqlquery,qsqlrecord等,谢谢采纳

热心网友 时间:2022-04-07 22:16

QT提供了很好的文档,看看就知道了啊。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
茶叶可以放在冰箱里吗茶叶能不能放冰箱 茶叶放冰箱里好吗茶叶放冰箱里好不好 茶叶可以放冰箱保存么 茶叶放冰箱放冷藏好吗 甲、乙两根绳子/,甲绳长63米,乙绳长29米、两根绳子前去同样的长度)剩下... 新华书店在送图书下乡活动中,送去的连环画战50%,余下的是故事书,故事书... 李老师带了300元钱去新华书店为学校图书室买《现代汉语词典》38.50.他... dnf55传承重甲套多少钱 dnf漫游55传承套叫什么名字 Dnf刺客五十五级刷图传承套多少钱?叫什么名字? DNF55级传承皮甲套多少钱,每个部位价格分别是多少,20分 睡觉把脖子睡痛了怎么办? 自考本科如何报考在职研究生 睡觉睡得脖子疼怎么解决 报考计算机科学与技术在职研究生需要具备哪些条件 得了卵巢囊肿在饮食方面应注意什么 想知道在职研究生报考条件?? 计算机专业在职研究生报考条件 计算机在职研究生考试需要什么条件? 计算机在职研究生报考条件有哪些 计算机专业有研究生吗 2006年老款马六车在在行走五速时突然出现了AT和故障码并直接跳到三速是怎么回_百度问一问 2.0马六显示at是因为什么 百度地图打车先付款? 03年马6的at灯亮了是什么问题 在百度地图上预约了专车,上车后怎么操作 卵巢囊肿饮食应注意什么?(没进行过治疗) 马自达6出现AT是什么问题 马六汽车仪表盘 AT和小汽车防滑两个标志显示是什么原因 卵巢囊肿饮食上要注意些什么? 马自达6变速箱AT灯亮是什么原因? 计算机科学与技术在职研究生招生时间是什么时候? 南半球有春分,夏至,秋分,冬至日吗 北半球是冬至日时,南半球是什么日 武汉大学的在职计算机技术工程硕士,报考的话需要什么条件?几月份报名? 南半球什么时间是冬至 睡觉睡的脖子疼该咋办 华南理工大学在职研究生报考条件有哪些? 为什么南北半球的冬至日不同 急!!睡觉把脖子睡疼了,怎么办科学有效的止疼? 6月22日北半球夏至日,南半球是冬至日还是夏至日? 是不是6月22日这一 ... 化学中测定空气里的氧气含量实验原理 做销售的诀窍是什么? 南半球的四季规律 初中化学实验红磷燃烧测定氧气含量实验。 急 做销售有什么技巧呢?求解释。 化学红磷实验 做好销售的诀窍有哪些? 异地视频会议怎么开?需要每个人都下APP吗? 南半球冬至日/夏至日/春分秋分,北回归线昼长分别是多少? 做销售需要那些技巧?