import tkinter
from tkinter import *
import psycopg2
from tkinter import messagebox
t_conn= { "dbname" : "d1" , "user" : "u1" , "password" : "123qqq...A" , "port" : "15400" , "host" : "59.110.159.243"
}
try : conn= psycopg2. connect( ** t_conn)
except psycopg2. Error as e: print ( "conn failed" )
currsor= conn. cursor( )
currsor. execute( '''create table if not exists a2(id int,name varchar)''' ) def insert_db ( ) : id = insert_id_Entery. get( ) if id == "" : print ( "输入为空" ) else : print ( "插入的id:" , id ) name= insert_name_Entry. get( ) if name== "" : print ( "name不能为空" ) else : print ( "插入中" ) print ( "插入id对应的name值是:" , name) result= messagebox. askokcancel( "确认" , "确认插入吗" ) if result: currsor. execute( f"insert into a2 (id,name) values (' { id } ',' { name} ')" ) messagebox. showinfo( "信息" , "插入完成" ) conn. commit( ) print ( "插入成功" ) else : messagebox. showinfo( "信息" , "取消插入" ) conn. rollback( )
def delete_db ( ) : id = delete_id_Entry. get( ) if id == "" : print ( "输入为空" ) else : print ( "删除中" ) print ( "删除的id:" , id ) result= messagebox. askokcancel( "确认" , "确认删除吗" ) if result: currsor. execute( f"delete from a2 where id=' { id } '" ) messagebox. showinfo( "信息" , "删除完成" ) conn. commit( ) else : messagebox. showinfo( "信息" , "取消删除" ) conn. rollback( )
def update_db ( ) : id = update_id_Entry. get( ) if id == "" : print ( "id不能为空" ) else : print ( "更新的id行是:" , id ) name= update_name_Entry. get( ) if name== "" : print ( "name不能为空" ) else : print ( "更新中" ) print ( "更新id对应的name值是:" , name) print ( "更新完成" ) result= messagebox. askokcancel( "确认" , "确认更新吗" ) if result: currsor. execute( f"update a2 set name=' { name} ' where id=' { id } '" ) messagebox. showinfo( "信息" , "更新完成" ) conn. commit( ) else : messagebox. showinfo( "信息" , "取消更新" ) conn. rollback( )
def select_db ( ) : currsor. execute( "select * from a2" ) row= currsor. fetchall( ) if row== [ ] : print ( "数据表为空" ) else : for i in row: print ( i)
win= tkinter. Tk( )
win. title( '数据库增删改查' )
insert_id_label= tkinter. Label( win, text= "添加id值:" )
insert_id_Entery= tkinter. Entry( win)
insert_name_label= tkinter. Label( win, text= "添加name值:" )
insert_name_Entry= tkinter. Entry( win)
insert_button= Button( win, text= '增加' , command= insert_db)
insert_id_label. grid( row= 0 , column= 0 )
insert_name_label. grid( row= 1 , column= 0 )
insert_id_Entery. grid( row= 0 , column= 1 )
insert_name_Entry. grid( row= 1 , column= 1 )
insert_button. grid( row= 2 , column= 0 , columnspan= 2 )
delete_id_label= tkinter. Label( win, text= "删除id值:" )
delete_id_Entry= tkinter. Entry( win)
delete_button= Button( win, text= '删除' , command= delete_db)
delete_id_label. grid( row= 3 , column= 0 )
delete_id_Entry. grid( row= 3 , column= 1 )
delete_button. grid( row= 4 , column= 0 , columnspan= 2 )
update_id_label= tkinter. Label( win, text= "更新的id:" )
update_id_Entry= tkinter. Entry( win)
update_name_label= tkinter. Label( win, text= "更新id的name为:" )
update_name_Entry= tkinter. Entry( win)
update_button= Button( win, text= '修改' , command= update_db)
update_id_label. grid( row= 5 , column= 0 )
update_id_Entry. grid( row= 5 , column= 1 )
update_name_label. grid( row= 6 , column= 0 )
update_name_Entry. grid( row= 6 , column= 1 )
update_button. grid( row= 7 , column= 0 , columnspan= 2 )
select_button= Button( win, text= '查询结果' , command= select_db)
select_button. grid( row= 8 , column= 0 , columnspan= 2 )
win. mainloop( )
currsor. close( )
conn. close( )