懵懂初学者,大神路过还请批评指正!
数据库: MYSQL
软件: QT5.4
数据: student表格一张,内含学号、姓名、选课号
话不多说直接上代码:
//tableView的点击槽函数,由设计师界面右键tableView、点击转到槽、点击cliked()选项生成
void tableVieShow::on_tableView_student_clicked(const QModelIndex &index)
{
QSqlTableModel *model = new QSqlTableModel;
model->setTable("student"); //指定要做模型的表
model->setHeaderData(0, Qt::Horizontal, "学号"); //设置第一列的字段名为学号
model->setHeaderData(1, Qt::Horizontal, "姓名");
model->setHeaderData(2, Qt::Horizontal, "选课号");
model->select();
ui->tableView_student->setModel (model); //关键步骤
QSqlRecord record=model->record(index.row()); //关键步骤
//01.记录被点击行的"name"列(与数据库这张表的列头名相同),到局部变量namestr中
QString namestr = record.value("name").toString();
//02.下同
QString sid = record.value("stuID").toString();
QString chooseCID= record.value("chooseClassID").toString();
//显示相应文本到lineEdit控件
ui->lineEdit_stuID->setText(sid);
ui->lineEdit_name->setText(namestr);
ui->lineEdit_chooseClassID->setText(chooseCID);
}
ps:记得补充相应头文件
控件图:
效果图:
点击前:
点击后:
好处:现在就可以直接编辑lineEdit的内容,进行“改”功能,省去手动输入。