Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

계좌개설 부분 #14

Merged
merged 5 commits into from
Jan 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified aledger.db
Binary file not shown.
94 changes: 55 additions & 39 deletions ledger.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,45 @@

from tkinter import * #tkinter밑에있는 모든 정보 가져옴
import ledger_bk #ledger_bk 정보 가져옴
import datetime # datetime 정보 가져옴
import random # random 정보 가져옴
window = Tk() #윈도우 창 생성
window.title("Account Ledger") #윈도우 창 타이틀
#window.geometry("너비 x 높이 + x좌표 + y좌표") 윈도우 창의 너비, 높이, 초기화면 크기 설정
#window.resizable(상하(True or False), 좌우) 윈도우 창의 창 크기 조절 가능 여부 설정, True로 설정 시 윈도우 창 크기 조절 가능

def rand_accnum() : # 랜덤한 계좌번호를 문자열로 생성해서 리턴 하는 함수
accnum_list = []
acc_num = ""

for i in range(16) :
accnum_list.append(random.randint(0, 9))
accnum_list[6] = '-'
accnum_list[9] = '-'

for j in range(16):
acc_num += str(accnum_list[j])
return acc_num

def view_command():
#lb=Listbox(window,height=20,width=94) (111번 줄에 정의)
lb.delete(0,END) #0항목부터 END까지 삭제
for row in ledger_bk.viewall(): #ledger_bk파일에 있는 viewall()함수 이용
lb.insert(END,row) #lb(리스트박스) 끝에서부터 하나씩 DB에 있는 정보 하나씩 기입

def search_command():
lb.delete(0,END) #0항목부터 END까지 삭제
for row in ledger_bk.search(name=name.get(),user=user.get(),password=password.get(),category=category.get()):
#ledger_bk파일에 있는 search()함수 이용
lb.insert(END,row) #lb 끝에서부터 하나씩 DB에 있는 정보 기입
# def search_command():
# lb.delete(0,END) #0항목부터 END까지 삭제
# for row in ledger_bk.search(name=name.get(),user=user.get(),password=password.get(),category=category.get()):
# #ledger_bk파일에 있는 search()함수 이용
# lb.insert(END,row) #lb 끝에서부터 하나씩 DB에 있는 정보 기입

def add_command():
ledger_bk.add(name.get(),user.get(),password.get(),category.get(),cdate.get())
acc_number = rand_accnum()
ledger_bk.add(acc_number, name.get(),password.get())
#ledger_bk파일에 있는 add()함수 이용
lb.delete(0,END) #0항목부터 END까지 삭제
lb.insert(END,name.get(),user.get(),password.get(),category.get(),cdate.get())
#lb에 ledger_bk파일에 있는 add()함수에서 받아온 정보를 끝에서부터 하나씩 기입
lb.insert(END,"이름 : " + name.get(),"계좌번호 : " + acc_number, "패스워드 : " + "*" * len(password.get()),"계좌 개설 시간 : " + datetime.datetime.now().strftime('%Y년 %m월 %d일 %H시 %M분 %S초'))
#lb에 ledger_bk파일에 있는 add()함수에서 받아온 정보와 계좌번호, 그리고 계좌를 생성한 시간을 화면에 출력

def get_selected_row(event):
try:
Expand All @@ -37,20 +53,20 @@ def get_selected_row(event):
#Entry(윈도우 창, 파라미터, ...)
e1.delete(0,END) #
e1.insert(END,selected_tuple[1])
e2.delete(0,END)
e2.insert(END,selected_tuple[2])
# e2.delete(0,END)
# e2.insert(END,selected_tuple[2])
e3.delete(0,END)
e3.insert(END,selected_tuple[3])
e4.delete(0,END)
e4.insert(END,selected_tuple[4])
e5.delete(0,END)
e5.insert(END,selected_tuple[5])
# e4.delete(0,END)
# e4.insert(END,selected_tuple[4])
# e5.delete(0,END)
# e5.insert(END,selected_tuple[5])
except IndexError:
pass

def update_command():
ledger_bk.update(selected_tuple[0],name.get(),user.get(),password.get(),category.get(),cdate.get())
view_command()
# def update_command():
# ledger_bk.update(selected_tuple[0],name.get(),user.get(),password.get(),category.get(),cdate.get())
# view_command()

def delete_command():
ledger_bk.delete(selected_tuple[0])
Expand All @@ -59,51 +75,51 @@ def delete_command():
def clear_command():
lb.delete(0,END) #0항목부터 END까지 삭제
e1.delete(0,END)
e2.delete(0,END)
# e2.delete(0,END)
e3.delete(0,END)
e4.delete(0,END)
e5.delete(0,END)
# e4.delete(0,END)
# e5.delete(0,END)

l1 = Label(window,text="Name")
l1.grid(row=0,column=0,columnspan=2)
l2 = Label(window,text="Username/Email")
l2.grid(row=1,column=0,columnspan=2)
# l2 = Label(window,text="Username/Email")
# l2.grid(row=1,column=0,columnspan=2)
l3 = Label(window,text="Password")
l3.grid(row=2,column=0,columnspan=2)
l4 = Label(window,text="Category")
l4.grid(row=3,column=0,columnspan=2)
l5 = Label(window,text="Date")
l5.grid(row=4,column=0,columnspan=2)
# l4 = Label(window,text="Category")
# l4.grid(row=3,column=0,columnspan=2)
# l5 = Label(window,text="Date")
# l5.grid(row=4,column=0,columnspan=2)

name=StringVar()
e1 = Entry(window,textvariable=name,width=50)
e1.grid(row=0,column=0,columnspan=10)

user=StringVar()
e2 = Entry(window,textvariable=user,width=50)
e2.grid(row=1,column=0,columnspan=10)
# user=StringVar()
# e2 = Entry(window,textvariable=user,width=50)
# e2.grid(row=1,column=0,columnspan=10)

password=StringVar()
e3 = Entry(window,textvariable=password,width=50)
e3.grid(row=2,column=0,columnspan=10)

category=StringVar()
e4 = Entry(window,textvariable=category,width=50)
e4.grid(row=3,column=0,columnspan=10)
# category=StringVar()
# e4 = Entry(window,textvariable=category,width=50)
# e4.grid(row=3,column=0,columnspan=10)

cdate=StringVar()
e5 = Entry(window,textvariable=cdate,width=50)
e5.grid(row=4,column=0,columnspan=10)
# cdate=StringVar()
# e5 = Entry(window,textvariable=cdate,width=50)
# e5.grid(row=4,column=0,columnspan=10)

b1 = Button(window,text="Add",width=12,command=add_command)
#Button(윈도우 창, 파라미터, ...)
b1.grid(row=5,column=0)

b2 = Button(window,text="Update",width=12,command=update_command)
b2.grid(row=5,column=1)
# b2 = Button(window,text="Update",width=12,command=update_command)
# b2.grid(row=5,column=1)

b3 = Button(window,text="Search",width=12,command=search_command)
b3.grid(row=5,column=2)
# b3 = Button(window,text="Search",width=12,command=search_command)
# b3.grid(row=5,column=2)

b4 = Button(window,text="View All",width=12,command=view_command)
b4.grid(row=5,column=3)
Expand Down
41 changes: 22 additions & 19 deletions ledger_bk.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
def create():
con = sqlite3.connect("aledger.db")
cur = con.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS account(id INTEGER PRIMARY KEY,name TEXT,user TEXT, password TEXT,category TEXT,cdate TEXT)")
cur.execute("CREATE TABLE IF NOT EXISTS account(account_num TEXT PRIMARY KEY,name TEXT, password TEXT)")
con.commit()
con.close()

def viewall():
con = sqlite3.connect("aledger.db")
cur = con.cursor()
Expand All @@ -15,29 +15,32 @@ def viewall():
con.close()
return rows

def search(name="",user="",password="",category=""):
con = sqlite3.connect("aledger.db")
cur = con.cursor()
cur.execute("SELECT * FROM account WHERE name=? OR user=? OR password=? OR category=?",(name,user,password,category))
rows = cur.fetchall()
con.close()
return rows
def add(name,user,password,category,cdate):
con = sqlite3.connect("aledger.db")
cur = con.cursor()
cur.execute("INSERT INTO account VALUES(NULL,?,?,?,?,?)",(name,user,password,category,cdate))
con.commit()
con.close()
def update(id,name,user,password,category,cdate):
# def search(name="",user="",password="",category=""):
# con = sqlite3.connect("aledger.db")
# cur = con.cursor()
# cur.execute("SELECT * FROM account WHERE name=? OR user=? OR password=? OR category=?",(name,user,password,category))
# rows = cur.fetchall()
# con.close()
# return rows

def add(account_num, name, password):
con = sqlite3.connect("aledger.db")
cur = con.cursor()
cur.execute("UPDATE account SET name=?,user=?,password=?,category=?,cdate=? WHERE id=?",(name,user,password,category,cdate,id))
cur.execute("INSERT INTO account VALUES(?,?,?)",(account_num, name,password))
con.commit()
con.close()
def delete(id):

# def update(id,name,user,password,category,cdate):
# con = sqlite3.connect("aledger.db")
# cur = con.cursor()
# cur.execute("UPDATE account SET name=?,user=?,password=?,category=?,cdate=? WHERE id=?",(name,user,password,category,cdate,id))
# con.commit()
# con.close()

def delete(account_num):
con = sqlite3.connect("aledger.db")
cur = con.cursor()
cur.execute("DELETE FROM account WHERE id=?",(id,))
cur.execute("DELETE FROM account WHERE account_num=?",(account_num,))
con.commit()
con.close()
create()
Expand Down