2
QSqlQueryModel에 문제가 있습니다. 데이터베이스에서 Time을 가져올 때까지 제대로 작동합니다. Firebird 2.5 데이터베이스 사용.QSqlQueryModel이 데이터베이스에서 시간을 가져올 수 없습니다.
matchModel = new QSqlQueryModel(this);
matchModel->setQuery("Select * from mecz");
ui->matchTableView->setModel(matchModel);
ui->matchTableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
ui->matchTableView->horizontalHeader()->setStretchLastSection(true);
내 데이터베이스 데이터 :
내 응용 프로그램을 보여줍니다 무엇 :이 코드 qDebug() << matchModel->index(0,4).data().toTime().toString();
를 실행하면
내가 빈 값 (""
)을 얻는다.
편집 :
내가 임시 해결책을 찾을 수 있습니다. 쿼리를 다음으로 변경하십시오.
Select id, druzyna_gospodarz, druzyna_gosc, data_meczu, EXTRACT(HOUR from CAST(godzina_meczu as TIMESTAMP)) || ':' || IIF(CHAR_LENGTH(EXTRACT(MINUTE from CAST(godzina_meczu as TIMESTAMP)))>1,EXTRACT(MINUTE from CAST(godzina_meczu as TIMESTAMP)),'0' || EXTRACT(MINUTE from CAST(godzina_meczu as TIMESTAMP))) from mecz
정상이어야합니다. 'matchModel-> lastError(). text()'를 호출하면 오류가 출력 될 수 있습니다. – Chernobyl
그것은 공백'' "'' – Sajmplus
만 인쇄합니다. 내 컴퓨터에서 (SQLite로) 시도했는데 데이터베이스에 01.01.2015를 입력하면 tableView에 '01.01.2015'도 있지만 다른 형식으로 나타납니다 , 그래서 나는 당신의 코드가 가득 차 있다고 생각하지 않는다. 그렇다면 전체 코드를 여기에 게시하십시오. 아마도 저 또는 다른 사람들에게 도움이 될 것입니다. – Chernobyl