python - AttributeError:' pyodbc.Row'对象没有属性' JobCount'

时间:2016-03-16 13:10:43

标签: python pyodbc

我有一个查询,它从数据库中获取数据并返回值,以便我可以解析。

def executeScriptsFromFile(monitor):
    # Open and read the file as a single buffer
    fd = open(os.path.join(BASE_DIR, 'sql/{0}.sql'.format(monitor)), 'r')
    if args.alias:
        sql_query = fd.read().format("'" + args.alias + "'")
    else:
        sql_query = fd.read()
    fd.close()

    # Execute SQL query from the input file
    cursor.execute(sql_query)
    result = cursor.fetchone()
    return result

查询可能有所不同,因此我尝试构建逻辑,因此如果JobCount不是其中一个值,它将跳过部分。

query_data =  executeScriptsFromFile(args.monitor)
print query_data
if query_data.JobCount:
    print query_data.JobCount
else:
    send_status = send_data(job_data)
    print send_status

不幸的是,我得到了以下回溯。如果没有值,我该如何忽略该值?

Traceback (most recent call last):
  File "tidal-zabbix.py", line 92, in <module>
    if query_data.JobCount:
AttributeError: 'pyodbc.Row' object has no attribute 'JobCount'

1 个答案:

答案 0 :(得分:3)

如果您想检查'JobCount'属性query_data是否使用hasattr()

if hasattr(query_data, 'JobCount'):
    print query_data.JobCount
else:
    send_status = send_data(job_data)
    print send_status