본문 바로가기
Programming/Python_Etc

Python - GUI에서 DB연결

by Wilkyway 2020. 2. 26.
반응형

 

cx_Oracle의 설치에 이어 DB 연동, 그리고 tkinter를 이용한 GUI 프로그래밍을 해보겠습니다. 화면 구성은 정말 간단히...레이블에 DB 주소를 입력하고 엔터를 누르면 연결해서 결과를 출력하는 구성입니다.

import cx_Oracle 
import os 
import tkinter 

#GUI 부분 

window=tkinter.Tk() 

#기본 설정 
window.title("GUI Sample") 
window.geometry("640x640+100+100")  #너비X높이+X좌표+Y좌표 
window.resizable(True, True)        #사이즈 변경 가능 

#레이블 
label_ip=tkinter.Label(window, text="예: myid.myweb.com:1526/orcl", width=50, height=2, fg="red", relief="solid") 
label_id=tkinter.Label(window, text="예: erpif", width=20, height=2, fg="red", relief="solid") 
label_pw=tkinter.Label(window, text="예: erp0901", width=20, height=2, fg="red", relief="solid") 



#엔트리 함수 
def set_ip(event): 
    ip_adress=str(eval(entry.get())) 
     
#엔트리 입력창 
entry=tkinter.Entry(window) 
entry.bind("", set_ip) 



#한글지원방법 
os.putenv('NLS_LANG', '.UTF8') 

#연결에 필요한 기본 정보(유저, 비밀번호, 데이터베이스 서버 주소) 
connection = cx_Oracle.connect('login_id','login_pw', ip_adress) 

cursor = connection.cursor() 

cursor.execute(""" 
    select * 
    from TEMP 
    where KORN_NAME='홍길동' 
    """) 

for list in cursor: 
    print(list) 


label_ip.pack() 
label_id.pack() 
label_pw.pack() 

entry.pack(side="top") 

window.mainloop()

 

 

좀 멋도 없었는데, 블러까지 적용하니 참.....한심해보이지만,

그래도 기본적인 내용은 들어있다고 자축하며

이번 예제를 마무리 해봅니다.^^;;;

 

GUI화면에 결과 출력하는 것은 다음기회에...

 

 

반응형

댓글