Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在具有LIKE关键字的SQL查询中给出参数_Python_Sql_String_Sqlite_Sql Like - Fatal编程技术网

Python 如何在具有LIKE关键字的SQL查询中给出参数

Python 如何在具有LIKE关键字的SQL查询中给出参数,python,sql,string,sqlite,sql-like,Python,Sql,String,Sqlite,Sql Like,我有一个Workers SQLite表,我试图显示名称以用户输入的特定字符开头的所有Workers letter=输入(“\n输入工作者的起始字母:”) (cursor.execute(“SELECT*FROM Worker”,其中Worker_名称如“(?)%”,,(字母,))).fetchall() 但我总是犯这样的错误: sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用0,并且提供了1 但当我这样给予时,它是有效的: (cursor.execute(“

我有一个Workers SQLite表,我试图显示名称以用户输入的特定字符开头的所有Workers

letter=输入(“\n输入工作者的起始字母:”)
(cursor.execute(“SELECT*FROM Worker”,其中Worker_名称如“(?)%”,,(字母,))).fetchall()
但我总是犯这样的错误:

sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用0,并且提供了1

但当我这样给予时,它是有效的:

(cursor.execute(“SELECT*FROM Worker,其中Worker_Name像'J%'))).fetchall()

在查询中使用字符串连接:

cursor.execute(“从工作者名称中选择*,例如?| |'%”,(字母,))
。。。或者在应用程序代码中使用字符串连接:

cursor.execute(“从Worker_Name LIKE?”所在的Worker中选择*,(字母+“%”,)

在查询中使用字符串连接:

cursor.execute(“从工作者名称中选择*,例如?| |'%”,(字母,))
。。。或者在应用程序代码中使用字符串连接:

cursor.execute(“从Worker_Name LIKE?”所在的Worker中选择*,(字母+“%”,)

非常感谢您!第一种方法是对我有效的方法。我之前尝试过第二种方法,但它给了我同样的错误。@动物学家如果第二种方法给了你一个错误,你可能尝试了
LIKE'?
而不是
LIKE?
。字符串文本中的问号不是参数,它只是一个带问号的字符串。非常感谢!第一种方法是对我有效的方法。我之前尝试过第二种方法,但它给了我同样的错误。@动物学家如果第二种方法给了你一个错误,你可能尝试了
LIKE'?
而不是
LIKE?
。字符串文字中的问号不是参数,它只是带问号的字符串。