首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

windows已在xx.exe中触发一个断点.其原因可能是堆被损坏,该如何解决

2012-05-24 
windows已在xx.exe中触发一个断点.其原因可能是堆被损坏m_env Environment::createEnvironment(Environm

windows已在xx.exe中触发一个断点.其原因可能是堆被损坏
m_env = Environment::createEnvironment(Environment::DEFAULT);
Statement *stmt;
ResultSet *result;
try {
m_conn=m_env->createConnection("tc_szpt","c153","242SZPT");
stmt=m_conn->createStatement();
result = stmt->executeQuery("select * from tc_szpt.t_build_person");
while (result->next())
{
string username = result->getString(1);
CString cc;
cc.Format("%s",username.c_str());
username.empty();
}//执行到这里弹出这个错误的(VS2008程序:windows已在xxx.exe中触发一个断点,其原因可能是堆被损坏,这说明xx.exe中或它所加载的任何DLL中有bug。 )
stmt->closeResultSet(result);
  } catch (SQLException& ex) {
string aa = ex.getMessage();
CString cc;
cc.Format("%s",aa.c_str());
AfxMessageBox(cc);
return ;
  }
  m_conn->terminateStatement(stmt);
  m_env->terminateConnection(m_conn);
  Environment::terminateEnvironment(m_env);

[解决办法]
这个问题不是库的吧。你把sql部分去掉调试一下
[解决办法]

SQL code
string username = result->getString(0);试下,如果没问题。证明你数据库只有一条记录。因而string username = result->getString(1);报错 

热点排行