Qt QSqlTableModel 使用心得
连接数据库
执行sql查询,条件显示,排序
获取记录数,列数以及记录内容,字段内容
新增,修改,删除,恢复
其它
1---------------连接数据库(我用的access2003做实验)
在.pro文件添加
QT +=SQL
2-----执行sql查询,条件显示,排序model = newQSqlTableModel(this);
model->setTable(“student”);
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select(); //选取整个表的所有行
// model->removeColumn(1); //不显示第二列,如果这时添加记录,则该属性的值添加不上
QTableView *view= new QTableView;
view->setModel(model);
view->show();
//View->setEditTriggers(QAbstractItemView::NoEditTriggers); 使其不可编辑
条件:(等价于SQL语句的where)
model->setFilter(QObject::tr(“name= ‘admin’”).arg(name)); //根据姓名进行筛选
model->select(); //显示结果
排序:(等价于ORDERBY)
model->setSort(0,Qt::AscendingOrder); //id属性,即第0列,升序排列
model->select();
model->setSort(0,Qt::DescendingOrder); //id属性,即第0列,降序排
model->select();
3------获取记录数,列数以及记录内容,字段内容记录数: Model->rowcount
记录值:
值=model.record(num).value(1).toString();
Qrecord record= QSqlRecord record = tablemodel.record(记录行数);
值=Record.value(“字段名或索引”)