인한 문제! 내가 제대로 실행하는 내 SQL 쿼리를C++ 문자열 출력 중 충돌하거나 인쇄 쓰레기
출력이 콘솔은,하지만 난 ^^^ 얻을 때 ^^^^^ ! 그래픽 인터페이스 또는 충돌합니다.
내 프로그램은 Visual Studio 2005에서 컴파일되고 Allegro.cc 라이브러리를 사용합니다.이 프로그램은 부활해야하는 오래된 프로젝트입니다.
는 내가하고 싶은 것입니다 :
1 실행 그래픽 인터페이스는 어떤 행동은 그들이 MySQL을 데이터를 저장 가고있다.
2 이제 모든 사람들이 DB를 쿼리하고 데이터를 가져와야합니다.
3 쿼리 한 데이터를 그래픽 화면에 표시하려고합니다.
MySQl 커넥터는 사이트의 바이너리가 포함 된 1.1.7입니다. MySQL은 XAMP 턴키 리눅스에서 실행되는
은 5.5.33-0 박스 +
스키마 엔진은 wheezy1 : 이노 테이블 정렬이 UTF-8 기본 데이터 정렬 약동학은 NN, AI입니다.
한 열 이름 (9) 또 다른 열 이름, INT cardIndex이다 (11)
코드의 조각은 다음과 같습니다 PointOfSaleID, VARCHAR입니다 :
std::stringstream OutputStream;
(...)
prep_stmt = con -> prepareStatement ("SELECT * FROM `Triangulo`.`CardsSold` WHERE HitsA > 4 AND HitsB > 4 AND HitsC >4");
res = prep_stmt -> executeQuery();
con -> commit();
while (res -> next()) {
OutputStream << res -> getInt("idCardsSold");
textprintf_ex(OUTPUT, font, 10, 10, makecol(255,255,255),
makecol(0,0,0), "Winner Card %s", OutputStream.str().c_str());
OutputStream.str(std::string()); // clear the string stream
CRASHES HERE! OutputStream << res -> getString("PointOfSaleID");
textprintf_ex(OUTPUT, font, 10, 300, makecol(255,255,255), makecol(0,0,0), "PointOfSaleID %s", OutputStream.str().c_str());
나는에 같은 일을 수행 할 때 콘솔 - 텍스트 출력 - 프로그램이 올바르게 실행됩니다.
prep_stmt = con -> prepareStatement ("SELECT * FROM `Triangulo`.`CardsSold` WHERE HitsA > 4 AND HitsB > 3 AND HitsC >4");
res = prep_stmt -> executeQuery();
con -> commit();
/* fetch the data : retrieve all the rows in the result set */
while (res -> next()) {
cout << Card: ";
cout << res -> getInt("idCardsSold") << endl;
OutputStream << res -> getString("PointOfSaleID");
std::string resultstr = OutputStream.str();
const char* cstr2 = resultstr.c_str();
cout << "Loja Venda: ";
cout << cstr2 << endl;
cout << res -> getString("PointOfSaleID") << endl;
}
std :: stringstream OutputStream에 문제가있는 것 같지만 무슨 일이 일어나는지 알 수 없습니다.
도움을 주시면 감사하겠습니다.