Notice
Recent Posts
Recent Comments
Tags
- 파일업로드 유효성체크
- 타임피커
- ViewData
- php 캐쉬제거
- 파일업로드 체크
- 바코드 생성하기
- asp.net Select
- 강제이동
- javascript 바코드 생성
- ViewBag
- 하드 마이그레이션
- 404에러페이지
- TempData
- javascript 유효성체크
- ASP.Net Core 404
- javascript redirection
- 바코드 스캔하기
- 말줄임표시
- Mac Oracle
- jquery 바코드생성
- jquery 바코드
- SSD 복사
- asp.net dropdownlist
- javascript 바코드스캔
- XSS방어
- asp.net core Select
- 맥 오라클설치
- 하드 윈도우 복사
- XSS PHP
- django 엑셀불러오기
웹개발자의 기지개
[python] tkinter - Database 예제 (SQLite) 본문
위의 실행화면을 먼저 보도록 하자 tkinter 형태의 GUI 틑을 만들고, SQLite Database 와 연동하고 아래의 소스를 코딩해보았다.
[ DB 및 테이블 만들기 ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
import sqlite3
from tkinter import *
from tkinter import messagebox
# 함수 선언부
def insertData():
con,cur = None, None
data1,data2,data3,data3 = "","","",""
sql = ""
con = sqlite3.connect("F:/python_win32/test.db")
cur = con.cursor()
data1 = edit1.get();data2 = edit2.get();data3 = edit3.get();data4 = edit4.get()
try:
sql = "insert into userTable (id,userName,email,birthYear) values ('"+ data1 +"','"+ data2 +"','"+ data3 +"',"+ data4 +")"
cur.execute(sql)
except:
messagebox.showerror('오류','데이터 입력 오류가 발생하였습니다.')
else:
messagebox.showinfo('성공','데이터 입력 성공')
con.commit()
con.close()
# 기존에 입력한 입력박스값 내용삭제
edit1.delete(0,END);edit2.delete(0,END);edit3.delete(0,END);edit4.delete(0,END)
selectData()
def selectData():
strData1, strData2, strData3, strData4 = [],[],[],[]
con = sqlite3.connect("F:/python_win32/test.db")
cur = con.cursor()
cur.execute("SELECT * FROM userTable")
strData1.append("사용자ID");strData2.append("사용자이름");strData3.append("이메일");strData4.append("출생연도")
strData1.append("-------");strData2.append("-------");strData3.append("-------");strData4.append("-------")
while True:
row = cur.fetchone()
if row == None:
break
strData1.append(row[0]);strData2.append(row[1]);strData3.append(row[2]);strData4.append(row[3])
# 기존의 listBox 화면들을 모두 지운다.
listData1.delete(0,listData1.size()-1);listData2.delete(0,listData2.size()-1)
listData3.delete(0,listData3.size()-1);listData4.delete(0,listData4.size()-1)
for item1, item2, item3, item4 in zip(strData1,strData2,strData3,strData4):
listData1.insert(END, item1)
listData2.insert(END, item2)
listData3.insert(END, item3)
listData4.insert(END, item4)
con.close()
# 메인 코드
window = Tk()
window.geometry("600x400")
window.title("GUI 데이터 입력")
editFrame = Frame(window)
editFrame.pack()
listFrame = Frame(window)
listFrame.pack(side=BOTTOM, fill=BOTH, expand=1)
edit1 = Entry(editFrame,width=10);edit1.pack(side=LEFT, padx=10, pady=10)
edit2 = Entry(editFrame,width=10);edit2.pack(side=LEFT, padx=10, pady=10)
edit3 = Entry(editFrame,width=10);edit3.pack(side=LEFT, padx=10, pady=10)
edit4 = Entry(editFrame,width=10);edit4.pack(side=LEFT, padx=10, pady=10)
btnInsert = Button(editFrame, text="입력",command=insertData)
btnInsert.pack(side=LEFT, fill=BOTH, padx=10, pady=10)
btnSelect = Button(editFrame, text="조회",command=selectData)
btnSelect.pack(side=LEFT, padx=10, pady=10)
listData1 = Listbox(listFrame, bg='#cccccc')
listData1.pack(side=LEFT, fill=BOTH, expand=1)
listData2 = Listbox(listFrame, bg='#cccccc')
listData2.pack(side=LEFT, fill=BOTH, expand=1)
listData3 = Listbox(listFrame, bg='#cccccc')
listData3.pack(side=LEFT, fill=BOTH, expand=1)
listData4 = Listbox(listFrame, bg='#cccccc')
listData4.pack(side=LEFT, fill=BOTH, expand=1)
window.mainloop()
|
cs |
참고하여 소스수정함 : 우재남저 파이썬 for Beginner , Chapter13 데이터베이스 소스
'python' 카테고리의 다른 글
[Python] 클래스 전역변수, 클래스 변수 (0) | 2021.04.23 |
---|---|
[Python] win32com 설치하기 (0) | 2021.04.22 |
[python] tkinter - 이벤트 처리3 - 텍스트박스 (0) | 2021.03.28 |
[python] tkinter - 파일탐색기 (0) | 2021.03.28 |
[python] tkinter - 메뉴와 대화상자3 - 이미지파일 선택[2] (0) | 2021.03.28 |
Comments