QT 프레임 워크로 쿼리를 연결하고 실행하려고하면 mysql db에 연결할 수 있으며 쿼리를 테스트하고 데이터베이스에서 작동하는지 확인했습니다. 내가 연결할 수 있으며, 그것이 내가 또한 내가 노력하고QT로 mysql 쿼리를 실행할 수 없습니다
을 작동하는 것 같다
data.exec("insert query here");
data.next();
아무것도 시도
void Login::on_loginButton_clicked()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setDatabaseName("TestBase");
db.setUserName("username");
db.setPassword("password");
if (!db.open()) {
QMessageBox::critical(0,"Database Error","Could not connect to the database, check your internet connection.");
}
QSqlQuery data("SELECT * FROM `TestBase`.`Users` WHERE `userName` = 'Afonso'");
//data.exec("SELECT * FROM `TestBase`.`Users` WHERE `userName` = 'Afonso'");
QMessageBox::information(NULL, "Query executed", "The query returned: " + data.exec());
}
오류가 발생하지 않기 때문에 MySQL의 드라이버가 제대로 설치되어 생각 쿼리 결과를 QMessageBox에 표시하기 위해
'QSqlQuery'는 sql 쿼리를 실행하기 위해 생성자 인수를 sql 쿼리로 사용하지 않으며, 최신 오류를 보려면'lastError(). text()'를 사용하십시오. – SIFE
빈을 반환합니다.이 코드를 사용하려고했습니다. "QMessageBox :: information (NULL,"Query executed ","querry returned : "+ data.lastError(). text()); 'data.prepare ("여기에 검색어를 삽입하십시오"); data.exec(); data.first(); QString result = data.value (0) .toString()' 그리고 그 결과 var is = 0 – INdek
또한 qDebug() << data.lastError();를 실행하려고 시도하고 QSqlError 1, "", ""), 내 google-fu에 의해 질의가 올바르게 실행되었다는 것입니다. – INdek