Sardj
@Sardj

Что не правильно в соединении с бд?

Через приложение qt пытаюсь соединиться с бд. Пишет Источник данных не найден, может его где программно указывать О_о надо?
Вот текст функции, которая соединяет:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setHostName("USER-PC\SQLPROTUPIN");
    db.setDatabaseName("hospital");
    db.setUserName("sa");
    db.setPassword("sasa178");
    bool ok = db.open();
    QTableWidgetItem * item = new QTableWidgetItem();
    if (!ok) {
        item->setText("Cannot open database:"+db.lastError().text());

    }else item->setText("1");
    ui->tableWidget->setItem(0,0,item);

be1ac1b6bc7644df807f2d343e48104b.jpg
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
Sardj
@Sardj Автор вопроса
Соединилась с бд вот так вобщем
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC","connection");
    QString path = "AttachDbFilename=C:\\Program Files\\Microsoft SQL Server\\MSSQL11.SQLPROTUPIN\\MSSQL\\DATA\\hospital.mdf";
    db.setDatabaseName("DRIVER={SQL Server}; Server=.\\SQLPROTUPIN;" + path + ";Database=hospital; Trusted_Connection=Yes;");
    bool ok = db.open();

Что бы не было потом ошибки в запросе объявила его так QSqlQuery query(db);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ЕМНИП, QSqlDatabase::addDatabase("QODBC3") надо
Ответ написан
Комментировать
heksen
@heksen
Насколько помню там нужно класть рядом с exe драйвера БД. dll-ки. И прописать там.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы