2019년 6월 4일

성과 관리 시스템, 미완성, 내일 계속

수입 pymysql

tkinterimport에서 *

dB = pymysql.Connect (호스트 = '로컬 호스트'= 3306 포트, 사용자 = '루트'= passwd를 '4758stuv870399'DB = 'stuadm'캐릭터 = 'UTF8')

() = db.cursor 커서

데프 showTheTable (목록 상자) :

    Listbox.delete (0, END)

    데이터 = []

    SQL1 = # SQL 문 구조 "studentadm_information SELECT * FROM"

    cursor.execute (SQL1) # 원래 언어 성능을 얻을 수

    all_data cursor.fetchall = ()

    IIN all_data에 대한 :

        DD = 1 [0] + STR (I [1]) + I [2]

        Listbox.insert (END, DD)

데프 updateTheTable () : # 업데이트, 데이터에 액세스, SQL 업데이트 양식을 수행

    VAR1 entry1.get = ()

    VAR2 = INT (entry2.get ())

    VAR3 = entry3.get ()

    SQL은 "studentadm_information 값으로 INSERT = \

                    ( '%의 S'가 % d '%의 S') "% (VAR1, VAR2, VAR3)

    인쇄 (SQL)

    시험:

        데이터를 제출 더 이상 cursor.execute (SQL) #

        db.commit ()

        인쇄 ( "학생 정보가 성공적으로 제출!")

    외:

        ( "정보 실패 업로드!") 인쇄

        db.rollback ()

    showTheTable (mylist)로 바뀐다는

데프 changeTheTable () : #이 구조를 삭제 SQL

    VAR1 entrya.get = ()

    VAR2 = INT (entryb.get ())

    VAR3 = entryc.get ()

    시험:

        SQL3 = "UPDATE studentadm_information 세트 STUDENT_NAME = \ '% S \'student_phoneNumber = % S WHERE student_id % D ="% (VAR1, VAR3, VAR2)

        인쇄 (SQL3)

        cursor.execute (SQL3)

        db.commit ()

    외:

        db.rollback ()

    showTheTable (mylist)로 바뀐다는

데프 deleteTheTable () :

    VAR1 = INT (entryp.get ())

    SQL = "studentadm_information에서 삭제 여기서 student_id = % d의"% (VAR1)

    시험:

        cursor.execute (SQL)

        db.commit ()

        인쇄 ( "성공적으로 삭제")

    외:

        db.rollback ()

    showTheTable (mylist)로 바뀐다는

데프 checkTheTable () :

    VAR1 = INT (entryA.get ())

    SQL1 = "SELECT * FROM studentadm_information 여기서 student_id = % d의"% (VAR1);

시험:

        cursor.execute (SQL1)

        S = cursor.fetchone ()

        인쇄물)

        의 == 없음 경우 :

            인쇄 ( "학생들은 존재하지 않는다!")

        db.commit ()

        VAR2에서의 = S [1]

        VAR3에서의 = S [2]

        entryB.setvar (VAR2)

        entryC.setvar (VAR3)

    외:

        db.rollback ()

    showTheTable (mylist)로 바뀐다는

윈도우의 Tk = ()

window.geometry ( "700x500") # 메인 윈도우

최고 = 프레임 (윈도우, 높이 = 200, 폭 = 600, BG = '녹색'); # 학생 정보 표시

스크롤 = 스크롤 (위)

scrollar.pack (= 우측 기입 = Y)

= myList를리스트 박스 (상단 높이 = 10, 폭 = 50, = yscrollcommand scrollar.set) # 바인드 드롭 다운 이벤트

엔트리 ENTRY1 = (윈도우) # 1,2,3 증가 버튼

엔트리 ENTRY2 = (윈도우)

엔트리 entry3 = (윈도우)

엔트리 entrya = (윈도우)가 변경된다 #abc

엔트리 entryb = (윈도우)

엔트리 entryc = (윈도우)

엔트리 entryA = (윈도우)가 볼 #ABC

엔트리 entryB = (윈도우)

엔트리 entryC = (윈도우)

엔트리 entryp = (윈도우) #P 삭제 된 오브젝트를 지정하는데 사용되는

entry1.place (X = 50, Y가 = 300)

entry2.place (X = 200, Y = 300을)

entry3.place (X = 350, Y = 300을)

entrya.place (X = 50, Y = 340)

entryb.place (X = 200, Y = 340)

entryc.place (X = 350, Y = 340)

entryA.place (X = 50, Y = 450)

entryB.place (X = 250, Y = 450)

entryC.place (X = 450, Y = 450)

entryp.place (X = 350, Y = 380)

BT1 = 버튼 (윈도우, 텍스트 = "增加"명령 = updateTheTable)

bt1.place (X = 520, Y = 290를)

BT2 = 버튼 (윈도우, 텍스트 = "改动"명령 = changeTheTable)

bt2.place (X = 520, Y = 330)

BT3 = 버튼 (윈도우, 텍스트 = "删除"명령 = deleteTheTable)

bt3.place (X = 520, Y = 370를)

BT4 = 버튼 (윈도우, 텍스트 = "查看"명령 = checkTheTable)

bt4.place (X = 200, Y = 450)

showTheTable (mylist)로 바뀐다는

scrollar.config (명령 = mylist.yview)

mylist.pack (측면 = LEFT)

top.pack ()

window.mainloop ()

추천

출처blog.csdn.net/weixin_33736048/article/details/90860002