我有烧瓶在运行。我正在使用PYODBC对SQL服务器进行查询。
我没有返回多条记录,而是只得到1条。
我的循环意味着返回大于1的值——如果我在Flask(普通py脚本(之外打印记录(邮政编码和dma(,我会打印很多记录。
这是烧瓶问题吗?还是我使用了错误的循环?
from flask import Flask
import pyodbc
cnxn = pyodbc.connect('Driver={ODBC Driver 13 for SQL Server};Server=tcp:xxxx,xxx;Database=xxx;Uid=xxx;Pwd=xxx;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=300;')
cursor = cnxn.cursor()
app= Flask(__name__)
@app.route('/')
def index():
cursor.execute("QUERY GOES HERE")
row = cursor.fetchone()
while row:
return(row.postalcode+'||'+row.dma)
row = cursor.fetchone()
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
使用fetchall
将获取所有行。fetchone
只取第一个
rows = cursor.fetchall()
for row in rows:
print(row.postalcode+'||'+row.dma)