[我是SQLite的新手,所以请不要对我粗鲁]
我创建了一个带表
的数据库 CREATE TABLE `Pensioners` (
`AccountNo` INTEGER,
`Name` TEXT,
`Initial` TEXT,
`Retired` BLOB,
PRIMARY KEY(AccountNo)
)
我编写了一个程序来将值插入数据库
var = '''INSERT INTO Pensioners(AccountNo,Name,Initial,Retired)VALUES(?,?,?,?)'''
cur.execute(var,(acc.get(),nam.get(),init.get(),rd.get()))
messagebox.showinfo("Success", "Details Added!")
这里acc,nam等是来自条目小部件的变量。细节已成功添加。
我期待我的计划要做的是:
如果我输入帐户,程序应显示该名称及其他详细信息。
我试过的是:
for accno in search.get(),:
cur.execute('SELECT count(*) FROM Pensioners WHERE AccountNo = ?',(accno,))
base = cur.fetchone()[0]
if base>0:
dis = Label(text=base,fg='black').place(x=10,y=480)
else:
messagebox.showinfo("Error", "No results found")
我期望的例子: 帐号:123456789 输出: 约翰 P 31/01/2016 [这些是为特定帐户添加到数据库的值]
但我得到了奇怪的值,如1等,
答案 0 :(得分:0)
对不起,我终于想通了我必须更多地挖掘这本书
var2 = str(search.get())
variable = '''SELECT * FROM Pensioners WHERE AccountNo ='''+var2
cur.execute(variable)
for row in cur.fetchall():
dis = Label(text=row,fg='black').place(x=10,y=480)