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.
благодарит за вашу помощь.
Начнем с того, почему бы не иметь вектор структур, содержащих три поля, а? Во-вторых, вы пытаетесь получить возраст как строку, но назначьте ее целочисленной переменной, а затем вставьте ее в вектор как строку. Это не сработает. Помимо этого нет другого способа справиться с этим, чем вы уже это делали. –
сена спасибо за ваше время, чтобы помочь me.but, у меня такая же ошибка. –
Это помогло бы, если бы вы сказали нам, что такое ошибка, нет? – OldProgrammer