python - 使用 mysql.connector 模块获取 MYSQL 表的值
问题描述
我正在使用 mysql.connector python 库连接到 mysql。我需要使用 pyqt5 GUI 框架在 python 程序中显示我的数据库中存在的表。
这是我试图打印出我的表格中的行数,但即使我有 3 行它显示为 0。
cursor=mydb.cursor()
command = "select * from MENU"
result = cursor.execute(command)
self.tableWidget.setRowCount(cursor.rowcount)
print(cursor.rowcount)
解决方案
那是因为你还没有从游标中获取任何东西。
对于非缓冲游标,在获取行之前无法知道行数。在这种情况下,行数在查询执行后立即为 -1,并随着行的获取而增加。
因此,要修复,您可以像这样获得光标:cursor=mydb.cursor(buffered=True)
或者您可以使用results = cursor.fetchall()
.
推荐阅读
- php - woocommerce 挂钩添加到购物车按钮并保存自定义字段
- c# - C# Selenium WebDriver Element Text Match text contains Random 8 digit Hex Code using Regex
- azure - 项目运算符中多列的平均值
- oracle - plsql 在 Sql Developer 中有效,但在 liquibase 更改中无效 ORA-06550 PLS-00103
- c++ - 为什么连接不存在的地址时 tcp::socket::is_open() 方法返回 true?
- php - 如何在 PHP 中使用 Google Authenticator 生成唯一的二维码?
- django - 为什么我不能向 Django 数据库中的模型添加数据?
- python-3.x - 我如何在 Trie 结构中动态预加载 Pygame 游戏中我需要的所有声音?
- c - Windows 中区分大小写的目录路径
- reactjs - 如何使用 vfs_fonts.js 减小 bundle.js 文件的大小?