这么几行代码居然有BUG,请大家帮看看啊
for (int i=0; i<=m_param.maxLayer; i++)
{
char qry [MAX_SQL_STATEMENT] = {0};
SQLRETURN c;
SQLAllocHandle(SQL_HANDLE_STMT, m_hDbc, &(m_h1));
SQLAllocHandle(SQL_HANDLE_STMT, m_hDbc, &(m_h2));
SQLAllocHandle(SQL_HANDLE_STMT, m_hDbc, &(m_h3));
SQLAllocHandle(SQL_HANDLE_STMT, m_hDbc, &(m_h4));
SQLAllocHandle(SQL_HANDLE_STMT, m_hDbc, &(m_h5));
SQLAllocHandle(SQL_HANDLE_STMT, m_hDbc, &(m_h6));
SQLAllocHandle(SQL_HANDLE_STMT, m_hDbc, &(m_h7));
SQLAllocHandle(SQL_HANDLE_STMT, m_hDbc, &(m_h8));
SQLAllocHandle(SQL_HANDLE_STMT, m_hDbc, &(m_h9));
}
//上面的执行没有问题,下面的运行时一场,报告JETDLL的什么一场
for (i=0; i<=m_param.maxLayer; i++)
{
SQLFreeHandle(SQL_HANDLE_STMT, m_h1);
SQLFreeHandle(SQL_HANDLE_STMT, m_h2);
SQLFreeHandle(SQL_HANDLE_STMT, m_h3);
SQLFreeHandle(SQL_HANDLE_STMT, m_h4);
SQLFreeHandle(SQL_HANDLE_STMT, m_h5);
SQLFreeHandle(SQL_HANDLE_STMT, m_h6);
SQLFreeHandle(SQL_HANDLE_STMT, m_h7);
SQLFreeHandle(SQL_HANDLE_STMT, m_h8);
SQLFreeHandle(SQL_HANDLE_STMT, m_h9);
}