Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > MS SQL Connecton && MessageBoxError


Автор: A5uKa 29.9.2010, 09:12
Сколько мне не хотелось переползать с билдера на QT, думаю пришло это время...

1)         
Код

QMessageBox::critical(0, qApp->tr("Не получается открыть базу данных"),
            qApp->tr("Не получается подключиться к базе.\n"
                     "Click Cancel to exit."), QMessageBox::Cancel);

почему это выдаёт ошибку Microsoft Visual C++ Runtime : This application request the runtime ... 
У меня установлен MSVS Runtime (2010) может надо 2008 ?

2)
Код

    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setHostName("NCDY\\SQLEXPRESS");
    db.setDatabaseName("FlowServer");
    db.setUserName("sa");
    db.setPassword("qqqq213213+");
    if (!db.open())

Почему не соединяет ?

Автор: borisbn 29.9.2010, 09:35
какая версия Qt ? Сам(а) компилировал или установил готовый ?


Цитата(A5uKa @  29.9.2010,  09:12 Найти цитируемый пост)
Сколько мне не хотелось переползать с билдера на QT

QT == QuickTime, Qt == Си++сный ( и не только ) фреймворк

Автор: A5uKa 29.9.2010, 09:42
Цитата

# Qt libraries version 4.7.0.
# Qt Creator IDE version 2.0.1 

Готовый. (сейчас на windows)

Автор: A5uKa 29.9.2010, 12:40
И да . С QMessageBox вопрос снят.

Не понимаю почему с сервером не идёт соединение : 

Код

    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    QString serverName = "NCDY\\SQLEXPRESS";
    QString dbName = "Server";
    QString dsn = QString("DRIVER={SQL Native Client};SERVER=%1;DATABASE=%2;UID=sa;PWD=sffdsff23213+;").arg(serverName).arg(dbName);
    db.setDatabaseName(dsn);

    if (!db.open()) {
        QMessageBox::critical(0, qApp->tr("SQL Error"),
            qApp->tr("Can't connect to database. \nClick Cancel to exit.")
            , QMessageBox::Cancel);
        return false;
    }
    else
        return true;

Автор: mrbrooks 29.9.2010, 14:27
MS SQL Server 2008 EE + Qt 4.6.2. Полет кошерный.

Код

    QString strConnect = "Driver={SQL Server Native Client 10.0};Server=DIABLO\\SQLEXPRESS;Database=Northwind;Uid=XXX;Pwd=XXX;";
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setDatabaseName(strConnect);

    if(!db.open())
        QMessageBox::critical( this,
                              "Error!",
                              "Fuck side M$!");
    else
        QMessageBox::information( this,
                              "Alarm!",
                              "PROOFIT!");

Автор: A5uKa 29.9.2010, 14:32
"Alarm!",
"PROOFIT!"

 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)