Хорошо, я перепробовал все возможные ситуации с SO, и ничего из этого не сделало.
У меня проблема с вызовом сохраненного запроса, требующего передачи 4 параметров (речь идет о базе данных доступа), и у меня есть простой код:
params = ()
sql_saldo = "{CALL KUP_BalansKupDosp(204701,0,#3/5/2020#,0)}"
saldo = cursor.execute(sql_saldo)
for row in saldo.fetchall():
print(row)
Это работает!
Но так как мне нужны эти параметры, чтобы быть динамическими c, при попытке:
params = ('204701','0,#3/5/2020#','0')
sql_saldo = "{CALL KUP_BalansKupDosp(?,?,?,?)}"
saldo = cursor.execute(sql_saldo, params)
for row in saldo.fetchall():
print(row)
я получаю ошибку Data type mismatch in criteria expression
Это оригинальное определение параметра PARAMETERS InKupID Long, InSekID Long, InDatum DateTime, InToler Currency = 1;
Так что требуется, строка, строка, дата и время, и я полагаю. Поэтому, когда я пытаюсь с:
today_row = date.today()
today = today_row.strftime("%d/%m/%Y")
params = (204701,0,today,0)
sql_saldo = "{CALL KUP_BalansKupDosp(?,?,?,?)}"
saldo = cursor.execute(sql_saldo, params)
for row in saldo.fetchall():
print(row)
, я также получаю ту же ошибку, я даже пробовал с каждым возможным комбо, и я просто не могу понять это.
PS. Мое соединение работает отлично, так как у меня есть еще 10 запросов, кроме этого.
У кого-то была похожая проблема?