Qt5 필기 데이터베이스 (5) SQL 표 모델 QSqlTableModel

튜 토리 얼 사이트:http://www.qter.org/portal.php?mod=view&aid=57
0. tablemodel. pro 파일 을 엽 니 다. 여기에: QT + = coregui sql
주의해 야 한다!원래 의 그 구절 을 고치 면 잘못 을 보고 할 것 이다.
1. 헤더 파일 connection. h 추가

2.main.cpp include connection.h, CreateConnection()

3. mainwindow.h , :

include


QSqlTableModel *model;

4. tableEdit tablemodel, mainwindow :

 model = new QSqlTableModel(this);
    model->setTable("student");   //  
    model->setEditStrategy(QSqlTableModel::OnManualSubmit);  //     
    model->select(); //              select all

    //   name   ,        ,          
    //model->removeColumn(1);

    ui->tableView->setModel(model);   //   tableView 

    //      
    //ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
  1. mainwindow.cpp ,

    include "QMessageBox"

    include "QSqlError"

6. :model->database().transaction(); //
if (model->submitAll()) {
model->database().commit(); //
} else {
model->database().rollback(); //
QMessageBox::warning(this, tr("tableModel"),
tr(" : %1")
.arg(model->lastError().text()));
}

6. ( )
model->revertAll();

7. :

int rowNum = model->rowCount(); //
// id
QSqlQuery query;
query.exec("select max(id) from student");
query.first() ;
int id = query.value(0).toInt() + 1;
//
model->insertRow(rowNum); //
model->setData(model->index(rowNum,0),id);
//model->submitAll(); //

좋은 웹페이지 즐겨찾기