2013-07-19 2 views
3

C++ 응용 프로그램에서 prepared statement를 상당히 많이 사용합니다. 내가 가지고있는 문제는 mysql 쿼리가 오류 (즉, 외래 키 제약 조건)를 throw 할 때Mysql C++ 드라이버 - 작성한 후 준비 문 쿼리 가져 오기

어떻게 든 디버깅 할 수 있도록하고 싶습니다. 여기 이 MysqlWrapper.cpp

long MysqlWrapper::Insert(sql::PreparedStatement *stmt) 
    { 
     try 
     { 
      stmt->execute(); 
      ... 
      //return inserted id 
     } 
     catch(sql::SQLException &ex) 
     { 
      // How can I get the query being executed by stmt? 
     } 
    } 

답변

0

준비된 문은 MySQL의에서 문제 가치가없는합니다 (C++ 드라이버를 래핑 내가 작성한 클래스)에서 작은 코드 예제, 그들은 고전적인 SQL보다 훨씬 더 빨리 없습니다 진술. 다른 RDBMS 에서처럼 컴파일되지 않습니다. 이 경우에는 준비된 명령문 대신 배치 삽입을 사용하는 것이 더 좋을 것이라고 생각합니다.