반응형
데이터베이스 검색을 할 때 특정 조건에 부합하는 내용들만 검색하고 싶은 경우 SELECT FROM WHERE 명령어를 사용한다.
데이터베이스 명령어만 알면 쉽게 할 수 있다. 다만 qt 에서 사용하다보면 한글로 가져올 때 문제가 발생하기도 한다. 왜냐면 한글이 깨지기 때문에...이놈의 utf-8....
간단한 샘플은 아래와 같다.
query.exec("SELECT * FROM realestate WHERE id=3");
realestate 테이블에서 id 3인 모든 데이터들을 가져온다.
그럼 한글로 검색해볼까?
query.exec("SELECT * FROM realestate WHERE buildingname='한화테크윈R&D');
결과는????????????
못가져온다. ??? why??? 한화테크윈R&D 라는 값이 "" 속에서 인코딩형식이 맞지 않게 전달되는 것 같다.
따라서 SELECT 명령어를 전달할 때 QString 에 잘 넣어줘서 인코딩 한 후에 넣어주자.
QString buildingName = QString::fromUtf8("'한화테크윈R&D'");
QString queryString = QString("SELECT * FROM realestate WHERE buildingname=") + buildingName;
query.exec(queryString);
이렇게 실행하면 한글이 제대로 인코딩되서 전달되고, 검색이 잘되는 것을 확인 할 수 있다.
반응형
'Qt' 카테고리의 다른 글
[Qt] Login Dialog 만들기1 (로그인 창) (0) | 2016.08.01 |
---|---|
[Qt] QTableWidget (1) | 2016.08.01 |
[Qt] Sql 사용법(Table 생성, 검색, 저장) (0) | 2016.07.31 |
[Qt] 디자이너에서 탭 순서 바꾸기(change tab order) (0) | 2016.07.31 |
[Qt] Sql 연동하기 (0) | 2016.07.29 |
댓글