我目前正在建立SQL查詢取決於來自用戶的輸入。如何做到這一點的例子可以看這裏:轉義動態sqlite查詢?
def generate_conditions(table_name,nameValues):
sql = u""
for field in nameValues:
sql += u" AND {0}.{1}='{2}'".format(table_name,field,nameValues[field])
return sql
search_query = u"SELECT * FROM Enheter e LEFT OUTER JOIN Handelser h ON e.Id == h.Enhet WHERE 1=1"
if "Enhet" in args:
search_query += generate_conditions("e",args["Enhet"])
c.execute(search_query)
由於SQL的每一次變化,我不能插在執行調用,這意味着我應該手動逃脫字符串值。但是,當我搜索每個點執行...
我也不是很滿意我如何生成查詢,所以如果有人有任何想法,另一種方式,這將是偉大的!
是預先知道的表和列名? –