SQL с использованием значения переменной - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть переменная, как показано ниже в python;

run_id=5654

Когда я выполняю приведенный ниже код;

df=curs.execute("select* from [DATABASE] where RunId=run_id")

Я получил ошибку:

DataError: ('22018', "[22018] [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Преобразование не выполнено при преобразовании значения varchar 'run_id' в тип данных smallint. (245) (SQLExecDirectW)")

Не могли бы вы помочь мне об этом? Как я могу продолжить?

1 Ответ

1 голос
/ 01 ноября 2019

Если вы подключаетесь к своему экземпляру SQL Server с использованием pyodbc, вам следует использовать подготовленный оператор с ? в качестве заполнителя:

run_id = '5654'
df = curs.execute("SELECT * FROM [DATABASE] WHERE RunId = ?", (run_id,))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...