gpt4 book ai didi

python cx_oracle cursor.rowcount 返回 0 但 cursor.fetchall 返回数据

转载 作者:太空狗 更新时间:2023-10-30 02:38:48 25 4
gpt4 key购买 nike

我有这段代码,我正在使用 cx_oracle 包从 python 代码执行 select sql 语句:

import cx_Oracle

try:
cur = conn.cursor()
result = cur.execute('select * from table1')
print(str(cur.rowcount))
print(cur.fetchall())

except Exception as e:
print(e)

当我执行上面的代码时,我看到 0 进入 cur.rowcount 但我看到以下数据被打印出来 cur.fetchall():

[('185',), ('1860',), ('1908',)]

cx_Oracle package documentation确实提到 Cursor.rowcount 作为有效操作,所以我不确定为什么在我的代码中它返回 0 即使数据来了?

最佳答案

文档指出 cursor.rowcount 指定当前已提取的行数。在调用 cursor.execute() 之后,没有获取任何行,因此结果为 0。如果调用 cursor.fetchone(),则结果将为 1,如果调用 cursor.fetchmany(5),则结果将是 6,依此类推(当然,假设有足够的行来满足您的请求!)。

关于python cx_oracle cursor.rowcount 返回 0 但 cursor.fetchall 返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45986319/

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