在OCCI中使用getString()获取VARCHAR2类型列的问题

时间:2014-10-21 16:41:56

标签: c++ sql oracle occi

我必须在CPP代码中从Oracle表中读取VARCHAR2类型的列。当我尝试使用OCCI调用的getString()将VARCHAR2作为字符串时,代码失败。

在下面的代码中,我担心获取VARCHAR2的表格列COST_VALUE< 50>

代码:

string sqlStmt = "SELECT \”REJECTED COST\”, APPROVED_COST, COST_VALUE FROM COST_TABLE where PART_NUM= 'PN4879-1'";
            stmt = conn->createStatement(sqlStmt);
            ResultSet *rset = stmt->executeQuery();
            double dRejCost = 0;
            double dAppCost = 0;
            if(rset->next())
            {
             dRejCost = rset->getNumber(1);
             dAppCost = rset->getNumber(2);
             string strCost = rset->getString(3); 
            }
            stmt->closeResultSet(rset);
            conn->terminateStatement(stmt);

错误:

当我调试时,我能够看到在字符串中提取的值(来自COST_TABLE列)。但是在执行该行(字符串strCost = rset-> getString(3);)之后,应用程序失败,没有任何异常。

请帮助您的专业知识。

0 个答案:

没有答案