C++ 使用select语句从oracle数据库检索数据并加载到向量
救命啊!!!我将使用select语句从oracle数据库检索数据,并加载到向量C++ 使用select语句从oracle数据库检索数据并加载到向量,c++,oracle11g,resultset,C++,Oracle11g,Resultset,救命啊!!!我将使用select语句从oracle数据库检索数据,并加载到向量 SELECT *From table 其中,表包含ID、名称和年龄,包含100多个元素 .... 因此,我可以使用一种简单的技术,使用c++控制台使用resultset检索值。 //here my struct first. struct adopp { int age, string name; string id;
SELECT *From table
其中,表包含ID、名称和年龄,包含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;
}
感谢您的帮助。基于对您的问题的理解和 请改变
while(rset->next())
到
首先,为什么不使用包含这三个字段的结构向量呢?其次,您尝试以字符串形式获取年龄,但将其分配给整数变量,然后将其作为字符串推送到向量中。那不太管用。除此之外,真的没有其他方法可以处理这个问题了。谢谢你花时间来帮助我。但是,我还是有同样的错误。如果你告诉我们错误是什么,会有帮助的,不是吗?
while(rset->next())
while(rset->next()!= NULL)