QSqlQuery вызывает ошибку последовательности функции ODBCC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 QSqlQuery вызывает ошибку последовательности функции ODBC

Сообщение Anonymous »

Похоже, это связано с тем, что функции ODBC вызываются не по порядку. Но поскольку я использую QSql, обертывающий ODBC, мне сложно отследить эту функцию.
  • Мне удалось подключиться к базе данных SQL-сервера< /li>
    Я протестировал очень простой запрос и все равно получил ошибку. Я не думаю, что это связано с привязкой столбца.
  • Мне удалось выполнить запрос с помощью SQL-сервера, поэтому я думаю, что SQL-запрос в порядке.
  • Инструменты, которые я использую:
VS c++ 2017, CMake, Qt 5.09.2, SQL-сервер 2017
  • Ниже приведены сообщения об ошибках:
QODBCResult ::exec: невозможно выполнить оператор: «[Microsoft][Диспетчер драйверов ODBC] Ошибка последовательности функций»

QSqlError("0", "QODBC3: невозможно выполнить оператор", "[Microsoft][ Диспетчер драйверов ODBC] Последовательность функций error")
  • Тестовое кодирование:
    Этот код генерирует приведенное выше сообщение об ошибке.

    Код: Выделить всё

    int main()
    {
    QSqlDatabase GUIInpDB = QSqlDatabase::addDatabase("QODBC", "MainSQLDB");
    GUIInpDB.setConnectOptions();
    QString inpSqlServer = "DESKTOP-085AEA8\\SQLEXPRESS";
    QString dbName = "test";
    QString connString = QString("Driver={ODBC Driver 13 for SQL Server};Server=%1;DATABASE=%2;Trusted_Connection=Yes;")
    .arg(inpSqlServer).arg(dbName); //the argument replace the %1 and %2
    GUIInpDB.setDatabaseName(connString);
    QSqlDatabase db = QSqlDatabase::database("MainSQLDB");
    
    if (!db.open())
    {
    qDebug() 
    
    Подробнее здесь: [url]https://stackoverflow.com/questions/49472159/qsqlquery-causing-odbc-function-sequence-error[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»