При использовании instanceof
, необходимо знать класс B
во время компиляции. При использовании isAssignableFrom()
это может быть динамично и измениться во время времени выполнения.
Это должно быть :
cursor.execute ("""
UPDATE tblTableName
SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s
WHERE Server=%s
""", (Year, Month, Day, Hour, Minute, ServerID))
Вы можете также сделать это с помощью базовых манипуляций со строками,
cursor.execute ("UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server='%s' " % (Year, Month, Day, Hour, Minute, ServerID))
, но такой способ не рекомендуется потому что это оставляет вас открытыми для внедрения SQL . Поскольку это так просто (и похоже) сделать правильным способом tm . Делай это правильно.
Единственное, с чем следует быть осторожным, это то, что некоторые серверные части баз данных не следуют тому же соглашению для замены строк (на ум приходит SQLite).
У вас неверный синтаксис:
cursor.execute ("""
UPDATE tblTableName
SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s
WHERE Server=%s
""", (Year, Month, Day, Hour, Minute, ServerID))
Для получения дополнительной информации прочтите документацию .