计算DATEDIFF mysql、python和pyqt5后显示行
我有一个表,其中存储了液化石油气的序列号、加注日期和到期日期,现在我试图通过使用DATEDIFF mysql函数从到期日期中减去CURDATE()来标记尚未返回进行加注的气体,如果该值大于0,我想显示它。但这是行不通的。以下是示例代码:计算DATEDIFF mysql、python和pyqt5后显示行,python,mysql,pyqt5,Python,Mysql,Pyqt5,我有一个表,其中存储了液化石油气的序列号、加注日期和到期日期,现在我试图通过使用DATEDIFF mysql函数从到期日期中减去CURDATE()来标记尚未返回进行加注的气体,如果该值大于0,我想显示它。但这是行不通的。以下是示例代码: def flag_item(self): try: dbname = self.ui.lineEdit_database_name_flag.text() password = self.ui.lineEdit_passw
def flag_item(self):
try:
dbname = self.ui.lineEdit_database_name_flag.text()
password = self.ui.lineEdit_password_flag.text()
table_name = self.ui.lineEdit_table_name_flag.text()
db = mc.connect(
host="localhost",
user="root",
password=password,
database=dbname
)
dbcursor = db.cursor(buffered=True)
dbcursor.execute(f"SELECT due_date FROM {table_name}")
# result_1 = dbcursor.fetchall()
for x in dbcursor:
print(x)
dbcursor.execute(f"SELECT * FROM {table_name} WHERE DATEDIFF(CURDATE(), '{x}') > 0")
result = dbcursor.fetchall()
self.ui.tableWidget_2.setRowCount(0)
for row_number, row_data in enumerate(result):
self.ui.tableWidget_2.insertRow(row_number)
for column_number, data in enumerate(row_data):
self.ui.tableWidget_2.setItem(row_number, column_number, QTableWidgetItem(str(data)))
print("Data Fetched")
except mc.Error as e:
print(f" Error: {e.msg}")
打印(x)只打印第一列,不打印其他日期。
如何渲染超过天数的所有列。您确定迭代所有列的正确方法是dbcursor中x的
吗?还有其他方法吗?我猜您应该对result\u 1中的x执行。您已经注释掉了result_1
这仍然不会填充表格OK,但是打印(x)会得到什么