不知道这是什么问题,因为我在几个地方使用相同的代码,但只在一个地方中断。连接到sql db以将值追加到列表。Python 3.x
powder = []
try:
cnxn = p.connect('DRIVER={/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.5.so.2.1};SERVER='+server+';DATABASE='+db+';UID='+un+';PWD='+pw)
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM Table WHERE Something='THING'")
powd = cursor.fetchall()
except:
powd = [['DUCKS']]
for p in powd:
powder.append(p[0])
如果for循环被关闭,它会完美运行,try成功,powd有我需要的所有值。当我添加for循环时,try每次都失败(第一行甚至没有运行)。我试着将for循环移动到try中,还试着在except之后添加finally。我正在为不同的SQL语句运行相同的代码(其中大部分是更复杂/更大的数据集),这段代码工作得很完美。不知道是什么原因导致它在这方面失败,或者如何解决它。任何想法/建议都很感激。
1条答案
按热度按时间guicsvcw1#
想明白了
for循环使用p作为变量,一旦我将其更改为pn,它就像一个魅力。试图使用我已经设置的变量。Opps。