13

我正在使用 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中做到这一点?

4

1 回答 1

24

创建连接对象后db

cursor = db.execute('SELECT * FROM Customer WHERE CustomerID = %s', [customer_id])

然后使用fetch...结果cursor对象的任何方法。

不要被这%s部分所迷惑:这不是字符串格式,而是参数替换(不同的 DB API 模块使用不同的语法进行参数替换——pymssql 只是碰巧使用了不幸的%s!-)。

于 2010-08-05T00:03:04.583 回答