如何从qdateEdit中获取用户输入并从postgres中的数据库中选择

2024-04-29 08:28:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何在QDateEdit中获取用户输入,并在postgres的表中选择它?这是我的密码

 def date(self):

        try:
            date = self.dateEdit.date()
            print(date)
            conn = psycopg2.connect(dbname="sample", user="postgres", password="admin", host="localhost", port="5432")
            cur = conn.cursor()
            cur.execute("SELECT * FROM data WHERE stdate = '%s'",date)
            result = cur.fetchall()
            self.tableWidget.setRowCount(0)
            for row_number, row_data in enumerate(result):
                self.tableWidget.insertRow(row_number)
                for column_number, data in enumerate(row_data):
                    self.tableWidget.setItem(row_number, column_number, QTableWidgetItem(str(data)))
        except Exception as e:
            print("Error")

这部分我有问题

cur.execute("SELECT * FROM data WHERE stdate = '%s'",date)

如何从QDateEdit获取日期并在postgres的表中选择它

我只想选择stdate等于用户在QDateEdit中输入的日期的行,并在我单击selectdata按钮时将其显示在QtableView中 enter image description here


Tags: 用户selfnumberexecutedatadatepostgresconn
1条回答
网友
1楼 · 发布于 2024-04-29 08:28:41

你必须:

  • 使用datetime.time()而不是QDate
  • 占位符没有引号
dt = self.dateEdit.date().toPyDate()
cur.execute("SELECT * FROM data WHERE stdate = %s", (dt,))

相关问题 更多 >