2017-09-27 10 views
0

연결/실행 이외의 스레드에서 QSqlQuery (예 : query.value)를 조사 할 수 있습니까?다른 스레드에서 QSqlQuery를 묻습니다.

+0

시도해 보셨습니까? 그것을 시도하고 우리에게 당신의 경험에 대해 말해. – eyllanesc

+0

나는 그것을 시도하지 않고 싶다. 무작위로 충돌 할 때까지는 멀티 스레드가되는데 시간이 좀 걸릴 수 있습니다. QSqlQuery 아키텍처가 지원하는 경우 더 궁금합니다. –

답변

0

Qt docs에 따르면, 이것은 지원되지 이다

연결은 그것이 생성 실 내에서 사용될 수있다. 스레드 간 연결 이동 또는 다른 스레드에서 쿼리 작성은 지원되지 않습니다.

또한 QSqlDrivers에서 사용하는 타사 라이브러리 은 다중 스레드 프로그램에서 SQL 모듈 사용에 대한 추가 제한을 설정할 수 있습니다. 최소한 더 정보

그래서위한 데이터베이스 클라이언트의 설명서를 참조하십시오, 당신이해야 add a new database connection 당신이에서 쿼리를 실행하려는 각 스레드에 대한 (고유 이름).

+0

실행 후 QSqlQuery의 사용을 참조하고 있습니다. 전체 결과를 캐시합니까? 내가 레코드를보고 모든 값을 읽는다면 연결을 사용합니까? –

+0

@PascalauRazvan. 그래서 쓰레드간에 활성'QSqlQuery' 객체를 전달할 수 있는지 묻고 있습니까? 그렇게함으로써 어떤 문제를 해결하려고합니까? 어떻게 든 모든 결과를 메인 스레드로 되돌려 보내지 않기를 바랍니까? – ekhumoro

+0

@ ekhumoro DB 연결이 생성 된 동일한 스레드에서 결과 구문 분석을 수행하고 싶지 않습니다 (다중 연결 대신 하나의 스레드에서 발생하는 액세스를 직렬화했습니다). 그리고 네, 호출자 스레드에서 해당 활성 QSqlQuery를 사용할 수 있는지 알고 싶습니다. –