比较 Python 中的 SQL 字段



我正在尝试在Python中构建一个硒测试,该测试仅在SQL数据库中设置了标志时才执行。

我的数据库中此特定字段的值当前为"False",因此它应该打开开关,但它与我的代码无关:

connection = pypyodbc.connect('Driver={SQL Server};'
'Server=MYSERVSQL2;'
'Database=MyDB;'
'uid=sa;pwd=sa')
cursor = connection.cursor()
cursor.execute('SELECT Value FROM SystemSettings where ID = 20063')
for row in cursor:
if row == "False":
option = driver.find_element_by_xpath('//*[@id="divFileProcessingSettings"]/div[17]/div/label/span')
option.click()
else:
break
connection.close()

真的很快,你做了什么测试?

if row == "False":正在执行吗?您是否添加了快速打印语句以查看条件是否正在执行?

如果您已完成上述操作并且条件未执行,您是否查看了Row in cursor:返回的输出?

我不记得我的头顶了,但我相信光标会为你返回一个元组。您需要将元组解压缩为实际变量,而不是进行比较。你本质上是在做('假',(=="假"。

您可以通过简单地将比较更改为行 == ('False',( 来测试这一点,这可能会起作用,但您可能应该解压缩元组

尝试

f, _ = row 
if f == "False":

最新更新