gpt4 book ai didi

python - cx_Oracle 查询返回零行

转载 作者:行者123 更新时间:2023-11-28 21:58:05 28 4
gpt4 key购买 nike

为什么下面的代码不起作用?它返回零行,即使我有很多匹配搜索条件的行。

select * from Table_1 形式的简单查询工作正常并返回正数行

import cx_Oracle
def function_A (data):
connection = cx_Oracle.connect('omitted details here')

for index in range(len(data)):
# connection is already open
cursor = connection.cursor()

query = "select * from Table_1 where column_1=:column1 and column_2=:column2 and column_3=:column3 and column_4=:column4"
bindVars={'column1':data[index][3], 'column2':data[index][4], 'column4':data[index][5], 'column5':data[index][6]}
cursor.execute(query, bindVars)
cursor.arraysize = 256
rowCount = 0
resultSet = cursor.fetchall()
if (resultSet != None):
logger.debug("Obtained a resultSet with length = %s", len(resultSet))
for index in range(len(resultSet)):
logger.debug("Fetched one row from cursor, incrementing counter !!")
rowCount = rowCount + 1
logger.debug("Fetched one row from cursor, incremented counter !!")
logger.debug("Successfully executed the select statement for table Table_1; that returned %s rows !!", rowCount)
logger.debug("Successfully executed the select statement for table Table_1; that returned %s rows !!", cursor.rowcount)

请忽略小的格式问题,代码运行不会给我正数的行数。

代码正在使用 python2.6 和兼容版本的 cx_Oracle 的 IBM AIX 上运行。

最佳答案

甲骨文客户体验 cursor对象具有只读的 rowcount 属性。 Rowcount 返回使用 fetch* 方法返回的行数。

假设查询产生 5 行,那么交互是这样的

  1. 执行 rowcount = 0
  2. fetchone 行数 = 1
  3. fetchone 行数 = 2
  4. fetchall 行数 = 5

这样您就不需要手动跟踪它。您的查询问题必须首先解决 :)

关于python - cx_Oracle 查询返回零行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19063162/

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