테이블의 일부 데이터를 업데이트하지만 작동하도록 쿼리를 가져올 수없는 SQL 쿼리를 PyQt5에 작성하려고합니다. 무수한 포럼을 읽었지만 내 코드가 정확하다는 것을 알 수있는 한. 나는 또한 설명서를 다시 읽어서 뭔가를 놓친 것일까 요?바인딩이있는 PyQt SQL 쿼리
저는 PyQt5, python3.5 및 SQLITE를 사용하고 있습니다. 다음 코드 (lastError/lastQuery 도시하지 않음) :
near "?": syntax error Unable to execute statement
near "?": syntax error Unable to execute statement
UPDATE :tbl SET value=:val WHERE property=:var
Parameter count mismatch
나는 음모를 잃었 :
self.sqlWrite('ct','MarkerSize',123)
def sqlWrite(self,tbl,var,val):
query = QtSql.QSqlQuery(self.db) # First create query instance.
# Prepare query with placeholders, then bind values.
query.prepare('UPDATE :tbl SET value=:val WHERE property=:var')
query.bindValue(0,tbl)
query.bindValue(1,val)
query.bindValue(2,var)
# Finally execute query.
query.exec_()
... 오류를 생산? 내가 뭘 놓치고 있니?
미리 감사드립니다.
그냥 추측 : 쿼리의 driver 사용, 식별자를 탈출 더 일반적인 방법을
: 후자의 경우는 일반 문자열 보간을 사용한다 : 문자열 값에 대한 UPDATE 문에서 자리 표시 자 주위에 이스케이프 문자 (작은 따옴표 또는 큰 따옴표)가 필요합니까? –