PostgreSQL中的SELECT查询

Bla*_*ack 1 postgresql wxpython

我试图使用WHERE子句从变量中的PostgreSQL数据库中检索值,但我收到一个错误.

查询是:

select age into x from employee where name=name.GetValue()
Run Code Online (Sandbox Code Playgroud)

name 是我从wxpython GUI输入值的textcontrol.

我收到错误,因为名称架构不存在.

检索值的正确方法是什么?

Ste*_*eve 5

"name.GetValue()"是一个文字字符串,您将其发送到您的数据库,该数据库对wxpython一无所知,也不了解程序中的变量.您需要将该数据的值发送到数据库,可能使用绑定参数.就像是:

cur.execute("select age from employee where name=%s", [name.GetValue()])
x = cur.fetchone()[0] # returns a row containing [age] from the db
Run Code Online (Sandbox Code Playgroud)

可能就是你想要的.这将在数​​据库中创建一个带占位符的查询,然后将name.GetValue()的值绑定到该占位符并执行查询.下一行获取查询结果的第一行,并将x分配给该行中的第一项.