2013-12-20 1 views
0

help !!! Я собираюсь извлечь данные из базы данных oracle, используя инструкцию select и загрузить вектор.извлекает данные из базы данных oracle с помощью оператора select и нагрузки на вектор

SELECT *From table 

, где таблица содержит идентификатор, имя и возраст с более чем 100 элементов .... так я могу иметь простой метод для извлечения значений с помощью C++ (консоль) с помощью resultset. ...... ...

//here my struct first. 
     struct adopp 
     { 
     int age, 
     string name; 
     string id; 
     }; 
    //the vector to load 
     vector<string> load() 
      { 
        oc::Environment* evt = oc::Environment::createEnvironment(oc::Environment::DEFAULT);//oracle::occi:: 
        oc::Connection* con=evt->createConnection("usr","psw", "db"); 
        string sqlQuery = "SELECT * FROM table"; 
        oc::Statement *sttmnt = con->createStatement(sqlQuery); 
        oc::ResultSet* rset = sttmnt->executeQuery(); 
        vector<string>vet; 
        adopp adp; 
        while(rset->next()) 
        { 
         string iddd= rset->getString(1); 
            adp.id=iddd; 
         vet.push_back(iddd);  
         string nameee= rset->getString(2); 
            adp.name=nameee;     
            vet.push_back(nameee); 
         int age=rset->getint(3); 
            adp.age=ageee;  
         vet.push_back(ageee); 
        } 
        con->terminateStatement(sttmnt); 
        evt->terminateConnection(con); 
        oc::Environment::terminateEnvironment(evt); 
       return vet; 
      } 

Ошибка/Exception всплывающее сообщение говорит:

Unhandled exception at 0x53cbad4a (msvcp100d.dll) in Test_project_L.exe: 0xC0000005: Access violation reading location 0xccccccd0. 

p

благодарит за вашу помощь.

+0

Начнем с того, почему бы не иметь вектор структур, содержащих три поля, а? Во-вторых, вы пытаетесь получить возраст как строку, но назначьте ее целочисленной переменной, а затем вставьте ее в вектор как строку. Это не сработает. Помимо этого нет другого способа справиться с этим, чем вы уже это делали. –

+0

сена спасибо за ваше время, чтобы помочь me.but, у меня такая же ошибка. –

+0

Это помогло бы, если бы вы сказали нам, что такое ошибка, нет? – OldProgrammer

ответ