2014-01-29 4 views
0

, 내가 INFORMATION_SCHEMA의 내용을 반환하고 자신이 생성 된 목록에서 하나의 데이터베이스를 선택하도록 할 수 있습니다 버튼을 누르면에 있도록 몇 가지 코드를 개발하기 위해 노력하고 버튼을 생성하고 로그온 요청은 반환 문제와 작품, 아니다 결과는 그러나 지금까지 생성 한 코드는 이것이다, 실패 : 라인 data = conn.fetchall()이 먼저 처리해야하는 코드에서와 같이 괄호 ()에 관한 오류를 줄 것으로 보인다python은 mysql을 쿼리 결과를 선택 드롭 다운?

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) 

하지만 난 이해가 안 돼요 왜 내가 본 모든 예제에는이 구문이 있습니까? 나는 내가 '드롭 다운'선택 상자로 그 정보를 사용할 수 있도록 튜플로 이동합니다 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 
+0

fetch_all를 호출하기 전에 cursor.execute(query, args=None)를 호출 할 필요가? Tkinter를 콜백 역 추적 (마지막으로 가장 최근 통화)에서 –

+0

'예외 : 파일 "C : \ Python33 \ lib 디렉토리 \ Tkinter를 \ __ init__.py", __call__ 반환 self.func 라인 1475 (* 인수) 파일 "S : \ 파이썬 \ 존 \ wrt_toolkit_v5 \ wrt_toolkit_v6.py ", 라인 97, mysqlConnect에서 데이터 = cursor.fetchall() – jon141

+0

계속 ... 파일"C : \ Python33 \ lib 디렉토리 \ 사이트 - 패키지 \ pymysql3-0.4-py3을. \이 Python33 \ lib 디렉토리 \ 사이트 - 패키지 \ pymysql3-0.4-py3.3.egg \ pymysql \ 커서 : 3.egg \ pymysql \ cursors.py C '라인 (194), fetchall 에() 파일 self._check_executed ". 평 ", _check_executed self.errorhandler (자기, ProgrammingError는, 라인 (64),"(실행) 최초의 ") 파일"C : \ Python33 \ lib 디렉토리의 \ 사이트 - 패키지 \ pymysql3-0.4-py3.3.egg \ pymysql \ connections.py ", 줄 184, defaulterrorhandler raise errorclass (errorvalue) pymysql.err.ProgrammingError : execute() first ' – jon141

답변

0

당신은 당신이`fetchall()`호출하는 당신이 얻을 오류 메시지를 게시 할 수 있습니다

+0

좋은 물건, 코드가 수정 된 튜플이 생성되었습니다. 고맙습니다. – jon141