gpt4 book ai didi

python - PyPyodbc 在之前使用 SQL 查询后返回游标对象

转载 作者:行者123 更新时间:2023-12-03 06:08:13 24 4
gpt4 key购买 nike

使用 PyPyodbc 导入连接到我的 Azure SQL 数据存储。用它来检索数据,效果非常好。尝试添加 Flask 应用程序将数据添加到 SQL 数据存储的功能,但出了问题。

`
from flask import Flask, render_template, request
import pypyodbc as odbc

app = Flask(__name__)

@app.route('/')
def base():
return render_template('base.html')

@app.route('/index.html')
def index():
connection_string = 'Driver={ODBC Driver 18 for SQL Server};Rest hidden for security'

conn = odbc.connect(connection_string)

sql = '''
SELECT * FROM [dbo].[Hours]
'''
cursor = conn.cursor().execute(sql)

data = cursor

print(data)
conn.close()
return render_template('index.html', data=data)`

过去返回 SQL 数据库内的 2 行数据,但现在只返回

<pypyodbc.Cursor object at 0x000001E198749F10>

下一个函数的唯一区别是我使用了 INSERT INTO 查询而不是 SELECT。非常困惑这是如何开始发生的。

尝试更新模块、更改执行顺序、游标等。检查 Azure SQL 服务器中的数据(它仍然存在)。完全困惑为什么会突然开始发生这种情况。

最佳答案

要从 SQL Azure 检索数据,您应该使用:

data = cursor.fetchall()

而不是数据=光标。要打印数据,您应该使用以下代码:

data = cursor.fetchall()
for d in data:
print(d)

然后,您将能够获取如下数据:

enter image description here

完整代码:

import pyodbc 

server = "<serverName>"
username = "<userName>"
password = "<password>"
database = "<database>"

driver = '{ODBC Driver 17 for SQL Server}'
conn = pyodbc.connect(f'DRIVER={driver};SERVER={server};DATABASE={database};UID={username};PWD={password}')
cursor = conn.cursor()
cursor.execute('SELECT * FROM student')

rows = cursor.fetchall()
for row in rows:
print(row)

关于python - PyPyodbc 在之前使用 SQL 查询后返回游标对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77088172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com