Страницы

Поиск по вопросам

суббота, 13 июля 2019 г.

Почему в Qt creator,когда подключаюсь к базе данных(MSSQL),не выполняются запросы,хотя в SQL server он выполняется?

Вот кода,который подключает меня к базе данных
void login::on_pushButton_clicked() {
QString servername="(local)"; QString dbname="People"; QSqlDatabase db=QSqlDatabase::addDatabase("QODBC"); db.setConnectOptions(); QString dsn =QString("DRIVER={SQL Server};SERVER=%1;DATEBASE=%2;Trusted_Connection=Yes;").arg(servername).arg(dbname); db.setDatabaseName(dsn); db.setUserName("Никита-ПК/Никита"); db.setPassword(""); if(db.open()&&(ui->lineEdit->text()=="123")&&(ui->lineEdit_2->text()=="123")) {
mes->setText("Connect!!!"); close(); } else { mes->setText("No connect"); } mes->show(); }
**Вот код,который создает запрос** void MainWindow::on_pushButton_clicked() {
QSqlQuery query; // QSqlRecord rec = query.record(); int id = 0; QString firstName; QString secondName; QString age; mes=new QMessageBox(); if (!query.exec("SELECT * FROM Person")) { mes->setText("Bad"); //сlose(); mes->show();
} else { mes->setText("God!!!"); mes->show(); while (query.next()) { id = query.value(0).toInt(); firstName = query.value(1).toString(); secondName = query.value(2).toString(); age= query.value(3).toString(); if(id==1) { ui->lineEdit->setText(firstName); ui->lineEdit_2->setText(secondName); ui->lineEdit_3->setText(age); } } }
}


Ответ

У меня не выполнялось подключение,так как после подключения к серверу я работал в master(что странно хотя я указывал имя базы данных),в результате после того,как я добавил строку query.exec("use People;");--тем самым указав еще раз с какой базой данных нужно работать,все заработало

Комментариев нет:

Отправить комментарий