gpt4 book ai didi

python - 在需要条件的上下文中指定的非 bool 类型表达式,靠近 ')' - Pyodbc 和 SQL Server

转载 作者:行者123 更新时间:2023-12-01 07:20:45 27 4
gpt4 key购买 nike

我正在尝试使用 Python 3.7 和 pyodbc 更新数据库中的某些值,但不断收到错误错误 - 在需要条件的上下文中指定的非 bool 类型的表达式,靠近') '

    def UpdateSQL(self,shift,conn):

cursor=conn.cursor()
sql="""
UPDATE [DB].[dbo].[ZSB_Datapool_Test]
SET AssemblyDateTime=GETDATE(),Shift_Ass=?,User_Ass='mtp1'
WHERE(
SELECT TOP 1 *
FROM [DB].[dbo].[ZSB_Datapool_Test]
WHERE TotalResult='OK'
AND ID=?
AND Machinenr=?
And Serialnr=?
)
"""
cursor.execute(sql,shift,self.scanID,self.scanMa,self.scanSn)
cursor.close()

File "c:\Users\mmai\Documents\Python2\Scanner\Scanner.py", line 228, in UpdateSQL cursor.execute(sql,shift,self.scanID,self.scanMa,self.scanSn) pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]In der Nähe von ')' wurde ein nicht boolescher Ausdruck in einem Kontext angegeben, in dem eine Bedingung erwartet wird. (4145) (SQLExecDirectW); [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Anweisung(en) konnte(n) nicht vorbereitet werden. (8180)")

最佳答案

WHERE 旁边添加 EXIST 解决了这个问题。谢谢肖恩·兰格。

关于python - 在需要条件的上下文中指定的非 bool 类型表达式,靠近 ')' - Pyodbc 和 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57714477/

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