2008/12/11

CString::Format 으로 삽질하다.

CString 의 Format 문 때문에 종일 삽질을 했다.

    const CString INSERT_MODEL =
_T("INSERT INTO MODEL ")
_T(" (")
_T(" `1`,")
_T(" `2`,")
_T(" `3`,")
_T(" `4`,")
_T(" `5`,")
_T(" `6`,")
_T(" `7`,")
_T(" `8`,")
_T(" `9`,")
_T(" `0`")
_T(" ) VALUES (")
_T(" '%s',") // M
_T(" %f, ") // P
_T(" %f, ") // P
_T(" %f, ") // S
_T(" '%s',") // M
_T(" '%s',") // M
_T(" %d, ") // I
_T(" %f, ") // D
_T(" '%s',") // L
_T(" '%s' ") // M
_T(" );");

CString strSQL;
strSQL.Format( INSERT_MODEL
, CString( "g800" ) // '%s',
, 190.999f // %f,
, 89.999f // %f,
, 0.000f // %f,
, _T("") // '%s',
, CString( "" ) // '%s',
, 0 // %d,
, 0 // %f,
, _T("") // '%s',
, CString( "" ) // '%s'
);

AfxMessageBox( strSQL );




정말 문제가 없어보이는 코드인데... (기본이 부족한 것일까?)


문제가 되었던 부분은 36번째 줄의 실수형을 넣어주어야 하는곳에 정수형 0을 넣어준게 문제였다.

정수형 0을 넣고 실행을 하면 아래와 같은 에러 메시지가 출력된다.



실수형으로 (0.0f) 넣고 실행을 하면 아무런 문제가 없이 정상 동작을 하였다

Original Post : http://neodreamer-dev.tistory.com/216

No comments :

Post a Comment