0

ボタンを押すと information_Schema の内容を返し、生成されたリストから 1 つのデータベースを選択できるようにコードを開発しようとしています。ボタンを作成してログオンを要求することは問題ではなく、結果を返します。ただし、失敗しています。これまでに作成したコードは次のとおりです。

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
4

1 に答える 1

0

cursor.execute(query, args=None)電話をかける前に電話する必要がありますfetch_all

于 2014-01-29T13:33:31.057 に答える