我想使用Tkinter创建一个搜索表单,用户可以在其中输入他们想要从SQLite3数据库中看到的名称。 名为New_Assignment的数据库包含有关人员的所有详细信息。 但是我对如何将Tkinter连接到数据库并使用名称进行搜索感到困惑? 到目前为止,这就是我所得到的。

import sqlite3
conn = sqlite3.connect('new_assignment.db')
c = conn.cursor()
from tkinter import *
top = Tk()
top.title('Search form')
person_name = Entry()
person_name.pack(side = RIGHT, expand = True)
mainloop()

===============>>#1 票数:0

要从Entry小部件中获取文本,请使用get()方法(它在文本框中返回字符串)。

name_box = Entry()
name_box.pack(side=RIGHT, expand=True)

person_name = name_box.get()

但是,您需要添加一个按钮,如@abarnert在评论中所述。 附加此功能:

def get_name():
  global person_name
  person_name =  name_box.get()
  data = c.fetchall()
  print(data)
  for row in data:
      searchlist.append(row)
      var1=str(person_name)
      read_from_db(var1) 

(当然,修改read_from_db()以采用如下所示的变量:

def read_from_db(var):
    curs.execute("SELECT *" + " FROM personal WHERE Name LIKE (?)", ('%'+var+'%',))

按钮代码的示例可能如下所示:

button = Button(top, text="Display text", command=get_name)

全部放在一起:

import sqlite3

conn = sqlite3.connect('new_assignment.db')
c = conn.cursor()

from tkinter import *

top = Tk()
top.title('Search form')

name_box = Entry()
name_box.pack(side = RIGHT, expand = True)

def get_name():
    global person_name
    person_name = name_box.get()
    data = c.fetchall()
    print(data)
    for row in data:
        searchlist.append(row)
        var1=str(person_name)
        read_from_db(var1) 


def read_from_db(var):
    curs.execute("SELECT *" + " FROM personal WHERE Name LIKE (?)", ('%'+var+'%',))


person_name = ""
button = Button(top, text="Display text", command=get_name)
button.pack()


mainloop()

  ask by Manjil Lamichhane translate from so

未解决问题?本站智能推荐:

1回复

使用tkinter从sqlite3数据库输出文本

我已经建立了一个数据库并添加了一些随机细节。 我已经从数据库中提取了这些数据,并且需要在Tkinter GUI窗口中将其输出。 当使用Label输出内容时,通常会放置文本。 还有其他我应该使用的东西而不是标签吗?
2回复

无法使用tkinter作为gui在sqlite数据库中搜索记录来输入我要搜索的记录的名称(Python)

我正在使用tkinter作为gui,为使用数据库存储有关图书详细信息的图书馆程序。 该程序的一个特点是用户可以输入一本书的名称,它将搜索数据库并返回包含该名称的书籍的记录。 这是我目前具有此功能的代码: 我收到此错误消息: 我看过其他帖子说添加逗号来制作元组,但即使
1回复

将tkinter输出保存到sqlite3数据库

我对编程还很陌生,我正在尝试将tkinter输入框的输入保存到sqlite数据库中的字段中。 但是,无论如何,我总是将其保存为PY_VAR(number)的变体,或仅打印为{}。 这是代码的相关部分(SQL查询在数据库上下文中均有效)。 我将如何纠正此问题,以便将输入条目保存到SQL数据库
1回复

Tkinter输入未插入数据库(sqlite3)

当我在tkinter上单击Add时,它不会在数据库中添加任何内容,我不知道sqlite3很多。 我的数据库文件: Python档案: 当单击tkinter上的添加按钮时,它给了我空白的输出,这意味着它没有在数据库中插入任何内容
1回复

从tkinter输入框搜索记录时,如何从sqlite数据库返回记录(Python)

我正在使用tkinter作为gui,为使用数据库存储有关图书详细信息的图书馆程序。 该程序的一个特点是用户可以输入一本书的名称,它将搜索数据库并返回包含该名称的书籍的记录。 这是我目前具有此功能的代码: 我没有收到此代码的任何错误消息,但是,它只是在文本小部件中说<sqlite
1回复

如何使用GUI Tkinter在Python中以特定格式显示来自数据库sqlite3的信息?

我试图从数据库中检索信息并以某种特定方式显示它: 名称:蝙蝠侠 价钱:£18 但是我收到此错误:“ TypeError:'int'对象不可下标。” 我该如何解决?
1回复

显示整个数据库数据tkinter sqlite3

我试图在窗口上打印数据库中的历史记录,但是我的程序仅显示两行(甚至没有排序)。 有什么问题? 打印时,我可以正确获取数据,但无法在窗口上获取它们。 对我而言,这没有任何意义。
1回复

无法从sqlite3数据库填充Tkinter列表框

我在python 3.6.6中制作了一个简单的Tkinter GUI,我无法从数据库中获取数据来填充列表框。 图片: https : //imgur.com/sMou0MQ 我怎么了 当我想用来自sqlite3数据库的现有数据填充列表框时,我单击“刷新数据”按钮,遇到错误。 我的
1回复

Sqlite3从tkinter框中删除搜索记录

我目前正在编写一个具有帐户系统的程序。 删除帐户时,用户将搜索记录详细信息,如果成功,则将在屏幕上的框中显示该详细信息。 我的问题是我找不到删除搜索记录的解决方案。 这是我当前的代码: 谢谢你的帮助。
1回复

尝试在数据库中搜索名称时,Tkinter Treeview和SQLite出现问题

我已经能够成功单击tkinter GUI上的搜索按钮,并在树状视图中显示结果,但是如果我想再次直接搜索,则会收到错误消息,因为第二次尝试写入时,它正在写入与第一个搜索查询。 如何清除树形视图或确保程序写入树形视图的下一行? 因此,“数据”将返回(“ memberID”,“全名”,“用户