Я использую python 2.7 и pymssql 1.9.908.
В .NET для запросов базы данных я сделал бы что-то вроде этого:
using (SqlCommand com = new SqlCommand("select * from Customer where CustomerId = @CustomerId", connection))
{
com.Parameters.AddWithValue("@CustomerID", CustomerID);
//Do something with the command
}
Я пытаюсь выяснить то, что эквивалент для Python и более подробно pymssql. Я понимаю, что мог просто сделать строковое форматирование, однако который не кажется, что дескриптор, выходящий правильно как параметр, делает (я мог быть неправ в этом).
Как я делаю это в Python?
После создания объекта подключения db
:
cursor = db.execute('SELECT * FROM Customer WHERE CustomerID = %s', [customer_id])
затем используйте любой из методов fetch ...
результирующего объекта cursor
.
Пусть вас не вводит в заблуждение часть % s
: это НЕ форматирование строки, это подстановка параметров (разные модули API БД используют другой синтаксис для подстановки параметров - pymssql просто использует неудачный % s
! -).