我试图从sqlite数据库中获取包含“A1”列中某个单词和“A2”列中的另一个单词的行。我的代码如下所示:
a = input("Please insert word")
b = input("Please insert second word")
....
c.execute("SELECT * FROM board WHERE A1 LIKE ?" ("%" + a + "%",), "AND A2 LIKE ?" ("%" + b + "%",))
我得到一个TypeError:'str'对象不可调用。我很确定我的语法是错误的,但我无法弄清楚应该如何正确。有什么帮助吗?
答案 0 :(得分:0)
这是最后一行。应该是这样的
c.execute("SELECT * FROM board WHERE A1 LIKE ? % {} % AND A2 LIKE ? % {} %".format(a,b))
答案 1 :(得分:0)
execute() method需要两个参数:一个SQL语句字符串和一个包含SQL参数的列表:
c.execute("SELECT * FROM board WHERE A1 LIKE ? AND A2 LIKE ?",
("%" + a + "%", "%" + b + "%"))