我有一个使用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))