def show_query2_result(self): # 查询数据 db = pymysql.connect(host='39.99.214.172', user='root', password='Solotion.123', db='jj_tset') cursor = db.cursor() D_sql = """ SELECT a.user_id, b.`name`, b.phone, get_time, get_kg, recycle_time, recycle_kg, CONCAT( ROUND( ROUND( yield_rate, 4 ) * 100, 2 ), '%' ) yield_rate FROM em_salary a LEFT JOIN ( SELECT user_id, `name`, phone FROM `employee_table` ) b ON a.user_id = b.user_id WHERE DATE_FORMAT(get_time,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 0 DAY),'%Y-%m-%d') ORDER BY get_time DESC """ cursor.execute(D_sql) result = cursor.fetchall() db.close() if len(result) == 0: QMessageBox.information(self, "提示", "今日无鸡爪领取记录") return # 清空表格 self.query2_window.table_widget.setRowCount(0) self.query2_window.table_widget.setColumnCount(len(result[0])) self.query2_window.table_widget.setHorizontalHeaderLabels(['员工编号', '领取时间', '重量', '出成率']) # 添加数据到表格 for row_num, row_data in enumerate(result): self.query2_window.table_widget.insertRow(row_num) for col_num, col_data in enumerate(row_data): self.query2_window.table_widget.setItem(row_num, col_num, QTableWidgetItem(str(col_data))) # 显示窗口 self.query2_window.show()
时间: 2023-11-20 16:06:22 浏览: 87
这段代码实现了一个查询操作,从数据库中获取今天的鸡爪领取记录并展示在表格中。具体实现步骤如下:
1. 连接数据库
2. 执行查询语句,获取结果
3. 关闭数据库连接
4. 如果结果为空,弹出提示窗口并返回
5. 清空表格并设置列数和列标签
6. 遍历结果,将数据添加到表格中
7. 显示窗口
需要注意的是,这段代码使用了 PyMySQL 模块来连接和操作 MySQL 数据库。如果您没有安装该模块,可以使用以下命令进行安装:
```
pip install pymysql
```
相关问题
def show_query1_result(self): # 查询数据 db = pymysql.connect(host='39.99.214.172', user='root', password='Solotion.123', db='jj_tset') cursor = db.cursor() db_sql = """ """ cursor.execute(db_sql) result = cursor.fetchall() db.close() # 清空表格 self.query1_window.table_widget.setRowCount(0) self.query1_window.table_widget.setColumnCount(len(result[0])) # 添加数据到表格 for row_num, row_data in enumerate(result): self.query1_window.table_widget.insertRow(row_num) for col_num, col_data in enumerate(row_data): self.query1_window.table_widget.setItem(row_num, col_num, QTableWidgetItem(str(col_data))) # 显示窗口 self.query1_window.show()这里怎么更改表格列名
你可以通过以下方式更改表格列名:
1. 在创建表格时设置列名:
```
self.table_widget.setColumnCount(3)
self.table_widget.setHorizontalHeaderLabels(['姓名', '年龄', '性别'])
```
2. 在查询数据之前,先清空表格并设置列名:
```
self.table_widget.setRowCount(0)
self.table_widget.setColumnCount(3)
self.table_widget.setHorizontalHeaderLabels(['姓名', '年龄', '性别'])
```
然后再将查询结果添加到表格中。
self.query1_window = QueryResultWindow() self.query2_window = QueryResultWindow() def show_query1_result(self): # 查询数据 db = pymysql.connect(host='39.99.214.172', user='root', password='Solotion.123', db='jj_tset') cursor = db.cursor() db_sql = """ """ cursor.execute(db_sql) result = cursor.fetchall() db.close() # 清空表格 self.query1_window.table_widget.setRowCount(0) self.query1_window.table_widget.setColumnCount(len(result[0])) # 添加数据到表格 for row_num, row_data in enumerate(result): self.query1_window.table_widget.insertRow(row_num) for col_num, col_data in enumerate(row_data): self.query1_window.table_widget.setItem(row_num, col_num, QTableWidgetItem(str(col_data))) # 显示窗口 self.query1_window.show()这里怎么更改表格列名
你可以在表格创建后,使用setHorizontalHeaderLabels方法来设置表格的列名。例如:
```
self.query1_window.table_widget.setColumnCount(len(result[0]))
self.query1_window.table_widget.setHorizontalHeaderLabels(["列1", "列2", "列3"])
```
其中,["列1", "列2", "列3"]是你要设置的列名列表。你可以根据你的需求修改它。
阅读全文