• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

SQLite执行错误

数据库 来源:tiff 9次浏览

我正在学习SQLite,并试图创建一个字符串来存储值并使用下面我的程序中提取的代码行来检索行,但是我不断得到一个错误“execute()不带关键字参数“。我不明白,因为sqlite3的DB API表示,这是引用数据库中的正确方式:SQLite执行错误

import sqlite3 
dbb = sqlite3.connect('finance.db') 
db = dbb.cursor() 
username = request.form.get("username") 

#query database for username 
rows = db.execute("SELECT * FROM users WHERE username = :username", \ 
username=username) 

===========解决方案如下:

的documentation说:

sqlite3模块支持两种占位符:问题标记(qmark样式)和命名占位符(命名样式)。

下面是两种风格的例子:

<code class="prettyprint-override"># This is the qmark style: 
cur.execute("insert into people values (?, ?)", (who, age)) 

# And this is the named style: 
cur.execute("select * from people where name_last=:who and age=:age", {"who": who, "age": age}) 
</code>

关键字参数不被支持。然而,你可以明确地将它们转换成字典(或写一个execute这样做的包装):

<code class="prettyprint-override">db.execute("SELECT ... :username", dict(username = username)) 
</code>

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)