尝试开发一些代码,以便在按下按钮时我可以返回information_Schema的内容,并允许自己从生成的列表中选择一个数据库,创建按钮并请求登录不是问题,并且可以正常工作,并返回结果但是失败了,到目前为止我创建的代码是:

def mysqlConnect():
    import pymysql
    import subprocess
    sqlUsr = MysqlUsr.get()
    sqlpwd = Mysqlpwd.get()
    conn = pymysql.connect(host='192.168.0.27', user= sqlUsr, passwd=sqlpwd, db='information_schema')
    cursor = conn.cursor()
    conn.query("SELECT SCHEMA_NAME FROM SCHEMATA")
    data = cursor.fetchall()
    print (data)


该行data = conn.fetchall()似乎给出了与方括号()有关的错误,因为代码中必须先处理此错误,但是我不明白为什么,我所看到的所有示例都具有这种语法?我想我需要schema_name中的行进入一个元组,以便可以将该信息用作“下拉”选择框?有没有人做过类似的事情?在返回行之前,我无法创建下拉列表,当前我只能返回的行数是fetchall()命令失败的行数。

Exception in Tkinter callback Traceback (most recent call last):
File "C:\Python33\lib\tkinter_init_.py", line 1475, in
    call return self.func(*args)
File "S:\python\jon\wrt_toolkit_v5\wrt_toolkit_v6.py", line 97, in
    mysqlConnect data = cursor.fetchall()
File "C:\Python33\lib\site-packages\pymysql3-0.4-py3.3.egg\pymysql\cursors.py", line 194,
    in fetchall self._check_executed()
File "C:\Python33\lib\site-packages\pymysql3-0.4-py3.3.egg\pymysql\cursors.py", line 64,
    in _check_executed self.errorhandler(self, ProgrammingError, "execute() first")
File "C:\Python33\lib\site-packages\pymysql3-0.4-py3.3.egg\pymysql\connections.py", line 184,
    in defaulterrorhandler raise errorclass(errorvalue)
pymysql.err.ProgrammingError: execute() first

最佳答案

您需要先致电cursor.execute(query, args=None),然后再致电fetch_all

关于mysql - python查询mysql添加结果下拉选择?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21430396/

10-12 16:25
查看更多