使用通配符和 LIKE 从 SQL Server 检索数据



我有一个使用pyodbc连接到 SQL Server 的 django 项目。

我能够连接和检索数据。

但问题是当我尝试使用WHERE & LIKE过滤多个字段上的数据时,系统崩溃崩溃并显示以下错误。

">

元组"对象没有属性"格式">

views.py

from django.shortcuts import render
import pyodbc

def connect(request):
conn = pyodbc.connect(
'Driver={ODBC Driver 17 for SQL Server};'
'Server=DESKTOP-LPD1575\SQLEXPRESS;'
'Database=testDB;'
'UID=test;'
'PWD=test;'
)
query = 'n'
queryid = 3
cursor = conn.cursor()
c = cursor.execute('SELECT * FROM Artist where artistName like  ? or id = ?',('%{0}%','{1}').format(query,queryid))
print(c)
return render (request,'connect.html',{"c":c})

连接.html

<table align = "center">
<tr align="center">
<th>id</th>
<th>FolderNumber</th>
<th>Folderdate</th>
</tr>
{% for row in c %}
<tr align="center">
<td>{{ row.0 }}</td>
<td>{{ row.1 }}</td>
<td>{{ row.2 }}</td>
</tr>
{% endfor %}
</table>

如果我理解正确,您应该将元组作为第二个参数传递给cursor.execute(),仅使用文字值:

c = cursor.execute('SELECT * FROM Artist WHERE artistName LIKE ? OR id = ?',
('%' + query + '%', queryid))

最新更新