1

我有两个.py文件

File_1 包含以下语句:

try:
        conStr4SQLserver = pypyodbc.connect('DRIVER={SQL Server};'
                                            'SERVER=........'
                                            'DATABASE=......'
                                            'UID=......;PWD=......')
    except:
        print("I am unable to connect to the SQL SERVER Database")

File_2 包含以下语句:

import AnotherPythonFile as FindClosest

def query(queryStr,fetchOption = 'GetAll'):     # Default value of the parameter fetchOption is 'GetAll' 

    global sqlException
    sqlException = False
    try:
        connection = FindClosest.conStr4SQLserver
        cursr = connection.cursor()

        cursr.execute(queryStr)
        if fetchOption == 'GetOne':
            rows = cursr.fetchone()
        else: 
            rows = cursr.fetchall()

        return rows
    except:
        sqlException = True
        print("Error: Exception Ocured in Function 'query' :", sys.exc_info()[0])

以下是我如何调用“查询”函数:firstrow= query(queryStr, 'GetOne')

但是,如果出现异常,我需要再次调用查询函数。
我通过以下方式回忆该功能:

while (sqlException):
        firstrow= query(queryStr, 'GetOne') 

<class 'pypyodbc.DatabaseError'>不幸的是,每次循环执行时,我都会不断获得。

你能告诉我问题出在哪里吗?

4

0 回答 0