База данных Oracle с использованием C

#c #oracle

#c #Oracle

Вопрос:

Я пытаюсь распечатать все в таблице «СКЛАД». Ниже приведен мой код.

ПРОБЛЕМА: печатается только 3/10 строк.

Предполагается распечатать это
Но выводит это

 try
{
    env = Environment::createEnvironment(Environment::DEFAULT);
    conn = env->createConnection(usr, pass, srv);
    Statement* stmt = conn->createStatement("SELECT * FROM warehouses");
    /*---------------------CODE-------------------------------*/
    
    ResultSet* rs = stmt->executeQuery();

    if (!rs->next())
    {
        cout << "ResultSet is empty." << endl;
    }
    else
    {
        while (rs->next())
        {
            cout << "Warehouse ID: " << rs->getInt(1) << "Warehouse Name: " << rs->getString(2) << "     " << "Location ID: " << rs->getInt(3) << endl;
        }
    }
    /*---------------------CODE-------------------------------*/
    conn->terminateStatement(stmt);
    env->terminateConnection(conn);
    Environment::terminateEnvironment(env);
}
 

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

1. Код выхода, вероятно, вам что-то говорит. -1073741819 это то же 0xC0000005 самое, что означает нарушение доступа в MS Windows. С учетом сказанного я не уверен, почему вы получаете здесь нарушение доступа..

2. @drescherjm Я все еще учусь, и, согласно моим заметкам, именно так мы печатаем всю таблицу. Как мне это исправить?

3. Я не знаю, почему этот код имеет нарушение доступа. Я просто хотел научить вас читать код. Я подключил -1073741819 калькулятор Windows в режиме программиста и увидел, что значение было C0000005 в шестнадцатеричном формате, что является хорошо известным кодом Windows.