2013-12-16 3 views
4

나는 SQLite를 사용하고 docs for QSqlQuery class을 읽고 있습니다.SQLite에 대한 Qt 저장 쿼리가 더 빠릅니까?

 QSqlQuery query; 
    query.prepare("INSERT INTO person (id, forename, surname) " 
        "VALUES (:id, :forename, :surname)"); 
    query.bindValue(":id", 1001); 
    query.bindValue(":forename", "Bart"); 
    query.bindValue(":surname", "Simpson"); 
    query.exec(); 

이 주로 프로그래밍 편리 또는 실제 성능 이점이 자주 사용하는 쿼리가 :

이와 같은 이전에 저장된 쿼리에 대한 몇 가지 바인딩 예제가있다?

답변

2

문제는 성능이 아니라 보안입니다. 이 문장을 사용하여 데이터베이스에 변수 및 쿼리를 알려줍니다. 이것은 SQL Injection을 불가능하게 만든다. SQL yourselve를 작성하는 경우 변수 입력이 올바르게 이스케이프 처리되어야합니다.