Вот кода,который подключает меня к базе данных
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;");--тем самым указав еще раз с какой базой данных нужно работать,все заработало
Комментариев нет:
Отправить комментарий