操作参数必须是sql / python中的str

时间:2016-04-26 17:26:38

标签: python sql database sqlite

num2

你可以忽略while 1> 0,这是我删除的代码的一部分,专门问我的问题。当我调用函数quantity()时(在代码的另一部分我也因为问题而删除),我得到一个错误,指出:

追踪(最近一次通话):   文件“C:\ Users \ senarsky.CAL \ Documents \ 2016Sem2 \ Sqlite-connect.py”,第210行,in     数量()   文件“C:\ Users \ senarsky.CAL \ Documents \ 2016Sem2 \ Sqlite-connect.py”,第68行,数量     dbmgr.query(FUNC)   在查询中的文件“C:\ Users \ senarsky.CAL \ Documents \ 2016Sem2 \ Sqlite-connect.py”,第14行     self.c.execute(ARG) ValueError:操作参数必须为str

我不知道如何在不使用不安全的sql格式化的情况下将func行设为字符串...

1 个答案:

答案 0 :(得分:1)

将查询参数包含在元组中:

query = "INSERT INTO test (playerNAME) VALUES (?, ?)"
parameters = (line, x)

修改query方法以接受查询和参数:

def query(self, query, params=None):
    self.c.execute(query, params)
    self.conn.commit()
    return self.c

然后打电话给:

dbmgr.query(query, parameters)