版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/84502143
一 主界面
1 代码
# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Feb 16 2016)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
from Delete_DataBase import MyFrame13
from Delete_Table import MyFrame15
from Delete_Document import MyFrame17
###########################################################################
## Class MyFrame11
###########################################################################
class MyFrame11(wx.Frame):
def __init__(self, parent):
#初始化框架
wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString,
pos=wx.DefaultPosition,size=wx.Size(500, 155),
style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
#Window类的方法
self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)
#垂直布局控制器
bSizer7 = wx.BoxSizer(wx.VERTICAL)
#水平布局控制器
bSizer8 = wx.BoxSizer(wx.HORIZONTAL)
#空白标签,位于控制器8中
self.m_staticText6 = wx.StaticText(self, wx.ID_ANY,
wx.EmptyString, wx.DefaultPosition,
wx.Size(100, 50), 0)
self.m_staticText6.Wrap(-1)
bSizer8.Add(self.m_staticText6, 0, wx.ALL, 5)
#删除DATABASE按钮,位于布局控制器8中
self.m_button10 = wx.Button(self, wx.ID_ANY, u"删除DATABASE",
wx.DefaultPosition, wx.Size(120, 50), 0)
bSizer8.Add(self.m_button10, 0, wx.ALL, 5)
#删除TABLE按钮,位于布局控制器8中
self.m_button11 = wx.Button(self, wx.ID_ANY, u"删除TABLE",
wx.DefaultPosition, wx.Size(120, 50), 0)
bSizer8.Add(self.m_button11, 0, wx.ALL, 5)
#布局控制器8位于布局控制器7中
bSizer7.Add(bSizer8, 0, wx.EXPAND, 5)
#水平布局控制器
bSizer9 = wx.BoxSizer(wx.HORIZONTAL)
#空白标签,用于布局控制器9中
self.m_staticText7 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
wx.DefaultPosition, wx.Size(100, 50), 0)
self.m_staticText7.Wrap(-1)
bSizer9.Add(self.m_staticText7, 0, wx.ALL, 5)
#删除记录按钮,位于布局控制器9中
self.m_button12 = wx.Button(self, wx.ID_ANY, u"删除记录",
wx.DefaultPosition, wx.Size(120, 50), 0)
bSizer9.Add(self.m_button12, 0, wx.ALL, 5)
#退出按钮,位于布局控制器9中
self.m_button13 = wx.Button(self, wx.ID_ANY, u"退出",
wx.DefaultPosition, wx.Size(120, 50), 0)
bSizer9.Add(self.m_button13, 0, wx.ALL, 5)
#布局控制器9位于布局控制器7中
bSizer7.Add(bSizer9, 0, wx.EXPAND, 5)
#window类的方法
self.SetSizer(bSizer7)
self.Layout()
self.Centre(wx.BOTH)
# 按钮绑定事件
self.m_button10.Bind(wx.EVT_BUTTON, self.m_button10OnButtonClick)
self.m_button11.Bind(wx.EVT_BUTTON, self.m_button11OnButtonClick)
self.m_button12.Bind(wx.EVT_BUTTON, self.m_button12OnButtonClick)
self.m_button13.Bind(wx.EVT_BUTTON, self.m_button13OnButtonClick)
def __del__(self):
pass
# 单击各按钮,显示对应窗口
def m_button10OnButtonClick(self, event):
window = MyFrame13(None)
window.Show()
def m_button11OnButtonClick(self, event):
window = MyFrame15(None)
window.Show()
def m_button12OnButtonClick(self, event):
window = MyFrame17(None)
window.Show()
def m_button13OnButtonClick(self, event):
exit()
#测试
if __name__=='__main__':
app=wx.App()
window=MyFrame11(None)
window.Show()
app.MainLoop()
2 运行结果
二 删除数据库界面
1 代码
# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Feb 16 2016)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
from Notice import MyFrame3
from Check_Database import Check_Database
###########################################################################
## Class MyFrame13
###########################################################################
class MyFrame13(wx.Frame):
def __init__(self, parent):
#框架初始化
wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString,
pos=wx.DefaultPosition,size=wx.Size(561, 365),
style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
#Window类的方法
self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)
#垂直以及水平布局控制器
bSizer10 = wx.BoxSizer(wx.VERTICAL)
bSizer11 = wx.BoxSizer(wx.HORIZONTAL)
#文本提示框,位于布局控制器11中
self.m_staticText8 = wx.StaticText(self, wx.ID_ANY,
u"请输入想要删除的DATABASE",
wx.DefaultPosition, wx.Size(200, 50),0)
self.m_staticText8.Wrap(-1)
bSizer11.Add(self.m_staticText8, 0, wx.ALL, 5)
#用户要删除的表,位于布局控制器11中
self.m_textCtrl7 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
wx.DefaultPosition, wx.Size(120, 50), 0)
bSizer11.Add(self.m_textCtrl7, 0, wx.ALL, 5)
#布局控制器11位于布局控制器10中
bSizer10.Add(bSizer11, 0, wx.EXPAND, 5)
#水平布局控制器
bSizer12 = wx.BoxSizer(wx.HORIZONTAL)
#空白标签,位于布局控制器12中
self.m_staticText9 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
wx.DefaultPosition, wx.Size(200, 50), 0)
self.m_staticText9.Wrap(-1)
bSizer12.Add(self.m_staticText9, 0, wx.ALL, 5)
#确定按钮位于布局控制器12中
self.m_button14 = wx.Button(self, wx.ID_ANY, u"确定",
wx.DefaultPosition, wx.Size(120, 50), 0)
bSizer12.Add(self.m_button14, 0, wx.ALL, 5)
#布局控制器12位于布局控制器10中
bSizer10.Add(bSizer12, 0, wx.EXPAND, 5)
#垂直布局控制器
bSizer13 = wx.BoxSizer(wx.VERTICAL)
#要删除的数据库列,多行,只读,位于布局控制器13中
self.m_textCtrl8 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
wx.DefaultPosition, wx.Size(600, 500),
style=wx.TE_READONLY|wx.TE_MULTILINE)
bSizer13.Add(self.m_textCtrl8, 0, wx.ALL, 5)
#布局控制器13位于布局控制器10中
bSizer10.Add(bSizer13, 1, wx.EXPAND, 5)
#Window类的三个方法
self.SetSizer(bSizer10)
self.Layout()
self.Centre(wx.BOTH)
# 按钮和事件绑定
self.m_button14.Bind(wx.EVT_BUTTON, self.m_button14OnButtonClick)
##################check_database###############
#显示数据库列表
check_database=Check_Database('show databases','1')
show=''
for i in range(0,len(check_database.return_result)):
show+=check_database.return_result[i]
self.m_textCtrl8.SetValue(show)
def __del__(self):
pass
# 删除数据库
def m_button14OnButtonClick(self, event):
if(self.m_textCtrl7.GetValue()==''):
window=MyFrame3(None,'请输入DATABASE!')
window.Show()
else:
sql="drop database %s"%self.m_textCtrl7.GetValue()
check_database=Check_Database(sql,'1')
window=MyFrame3(None)
window.Show()
#测试
if __name__=='__main__':
app=wx.App()
window=MyFrame13(None)
window.Show()
app.MainLoop()
2 运行结果
三 删除表界面
1 代码
# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Feb 16 2016)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
from Check_Database import Check_Database
from Notice import MyFrame3
###########################################################################
## Class MyFrame15
###########################################################################
class MyFrame15(wx.Frame):
def __init__(self, parent):
#初始化框架
wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString,
pos=wx.DefaultPosition,size=wx.Size(561, 365),
style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
#window的方法
self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)
#垂直布局控制器
bSizer10 = wx.BoxSizer(wx.VERTICAL)
#水平布局控制器
bSizer11 = wx.BoxSizer(wx.HORIZONTAL)
#提示输入数据表,位于布局控制器11中
self.m_staticText8 = wx.StaticText(self, wx.ID_ANY,
u"请输入想要删除的TABLE",
wx.DefaultPosition, wx.Size(200, 50),0)
self.m_staticText8.Wrap(-1)
bSizer11.Add(self.m_staticText8, 0, wx.ALL, 5)
#数据表输入框,位于布局控制器11中
self.m_textCtrl7 = wx.TextCtrl(self, wx.ID_ANY,
wx.EmptyString, wx.DefaultPosition,
wx.Size(120, 50), 0)
bSizer11.Add(self.m_textCtrl7, 0, wx.ALL, 5)
#布局控制器11位于布局控制器10中
bSizer10.Add(bSizer11, 0, wx.EXPAND, 5)
#水平布局控制器
bSizer12 = wx.BoxSizer(wx.HORIZONTAL)
#空白框位于布局控制器12
self.m_staticText9 = wx.StaticText(self, wx.ID_ANY,
wx.EmptyString, wx.DefaultPosition,
wx.Size(200, 50), 0)
self.m_staticText9.Wrap(-1)
bSizer12.Add(self.m_staticText9, 0, wx.ALL, 5)
#确认按钮位于布局控制器12中
self.m_button14 = wx.Button(self, wx.ID_ANY, u"确定",
wx.DefaultPosition, wx.Size(120, 50), 0)
bSizer12.Add(self.m_button14, 0, wx.ALL, 5)
#布局控制器12位于布局控制器10中
bSizer10.Add(bSizer12, 0, wx.EXPAND, 5)
#水平布局控制器
bSizer13 = wx.BoxSizer(wx.VERTICAL)
#数据表列表,只读,多行,位于布局控制器13中
self.m_textCtrl8 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
wx.DefaultPosition, wx.Size(600, 500),
style=wx.TE_READONLY|wx.TE_MULTILINE)
bSizer13.Add(self.m_textCtrl8, 0, wx.ALL, 5)
#布局控制器13位于布局控制器10中
bSizer10.Add(bSizer13, 1, wx.EXPAND, 5)
#window类的方法
self.SetSizer(bSizer10)
self.Layout()
self.Centre(wx.BOTH)
# 按钮绑定事件
self.m_button14.Bind(wx.EVT_BUTTON, self.m_button14OnButtonClick)
######################Check_Database##############################
#列表显示数据表
check_database=Check_Database('show tables')
show=''
for i in range(0,len(check_database.return_result)):
show+=check_database.return_result[i]
self.m_textCtrl8.SetValue(show)
def __del__(self):
pass
# 控件绑定的事件
def m_button14OnButtonClick(self, event):
sql="drop table %s"%self.m_textCtrl7.GetValue()
check=Check_Database(sql)
window=MyFrame3(None)
window.Show()
#测试
if __name__=='__main__':
app=wx.App()
window=MyFrame15(None)
window.Show()
app.MainLoop()
2 运行结果
四 删除表记录窗口
1 代码
# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Feb 16 2016)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
from Check_Database import Check_Database
from Check_Document import Check_Document
from Notice import MyFrame3
from Delete_Document_Fun import Delete_Document_Fun
from Check_Desc import Check_Desc
###########################################################################
## Class MyFrame17
###########################################################################
class MyFrame17(wx.Frame):
def __init__(self, parent):
#初始化框架
wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString,
pos=wx.DefaultPosition,size=wx.Size(617, 490),
style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
#Window类的方法
self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)
#垂直布局控制器和水平布局控制器
bSizer14 = wx.BoxSizer(wx.VERTICAL)
bSizer15 = wx.BoxSizer(wx.HORIZONTAL)
#提示信息,位于布局控制器15
self.m_staticText10 = wx.StaticText(self, wx.ID_ANY,
u"请输入表名查看记录然后再进行删除",
wx.DefaultPosition, wx.Size(-1, 50),0)
self.m_staticText10.Wrap(-1)
bSizer15.Add(self.m_staticText10, 0, wx.ALL, 5)
#输入框位于布局控制器15
self.m_textCtrl9 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
wx.DefaultPosition, wx.Size(150, 50), 0)
bSizer15.Add(self.m_textCtrl9, 0, wx.ALL, 5)
#确认按钮位于布局控制器15
self.m_button15 = wx.Button(self, wx.ID_ANY, u"确定", wx.DefaultPosition,
wx.Size(100, 50), 0)
bSizer15.Add(self.m_button15, 0, wx.ALL, 5)
#布局控制器15位于布局控制器14中
bSizer14.Add(bSizer15, 0, wx.EXPAND, 5)
#水平布局控制器16
bSizer16 = wx.BoxSizer(wx.HORIZONTAL)
#数据列表,多行,只读,位于布局控制器16
self.m_textCtrl4 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
wx.DefaultPosition, wx.Size(190, 300),
style=wx.TE_MULTILINE|wx.TE_READONLY)
bSizer16.Add(self.m_textCtrl4, 0, wx.ALL, 5)
#绑定数据表的记录,位于布局控制器16
self.m_textCtrl10 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
wx.DefaultPosition, wx.Size(700, 300),
style=wx.TE_MULTILINE|wx.TE_READONLY)
bSizer16.Add(self.m_textCtrl10, 0, wx.ALL, 5)
bSizer14.Add(bSizer16, 0, wx.EXPAND, 5)
#水平布局控制器
bSizer17 = wx.BoxSizer(wx.HORIZONTAL)
#提示信息,位于布局控制器17
self.m_staticText11 = wx.StaticText(self, wx.ID_ANY,
u"请输入需要删除的记录的条件(例如:ID=3)",
wx.DefaultPosition,wx.Size(-1, 50), 0)
self.m_staticText11.Wrap(-1)
bSizer17.Add(self.m_staticText11, 0, wx.ALL, 5)
#删除条件,位于布局控制器17
self.m_textCtrl11 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
wx.DefaultPosition, wx.Size(200, 50), 0)
bSizer17.Add(self.m_textCtrl11, 0, wx.ALL, 5)
#删除按钮,位于布局控制器17
self.m_button17 = wx.Button(self, wx.ID_ANY, u"确定删除",
wx.DefaultPosition, wx.Size(120, 50), 0)
bSizer17.Add(self.m_button17, 0, wx.ALL, 5)
#bSizer14.Add(bSizer18, 1, wx.EXPAND, 5)
# 布局控制器17位于布局控制器14中
bSizer14.Add(bSizer17, 0, wx.EXPAND, 5)
#Window类的方法
self.SetSizer(bSizer14)
self.Layout()
self.Centre(wx.BOTH)
# 按钮绑定事件
self.m_button15.Bind(wx.EVT_BUTTON, self.m_button15OnButtonClick)
self.m_button17.Bind(wx.EVT_BUTTON, self.m_button17OnButtonClick)
result=''
#显示特定数据库的数据表列表
check_database = Check_Database('show tables')
for i in range(0, len(check_database.return_result)):
result+=check_database.return_result[i]
self.m_textCtrl4.SetValue(result)
def __del__(self):
pass
# 按钮绑定事件
# 显示表的详细信息
def m_button15OnButtonClick(self, event):
if(self.m_textCtrl9.GetValue()!=''):
check1=Check_Document('%s'%self.m_textCtrl9.GetValue())
check2=Check_Desc('%s'%self.m_textCtrl9.GetValue())
print self.m_textCtrl9.GetValue()
result=''
for j in range(0,len(check2.return_result)):
result+=str(check2.return_result[j])
for i in range(0, len(check1.return_result)):
result += str(check1.return_result[i])
result += " "
self.m_textCtrl10.SetValue(result)
else:
window=MyFrame3(None,"请输入TABLE")
window.Show()
#删除表数据
def m_button17OnButtonClick(self, event):
try:
sql="delete from %s where %s"%(self.m_textCtrl9.GetValue(),
self.m_textCtrl11.GetValue())
except:
window=MyFrame3(None,"请检查条件!")
window.Show()
else:
check=Delete_Document_Fun(sql)
window=MyFrame3(None)
window.Show()
#测试
if __name__=='__main__':
app=wx.App()
window=MyFrame17(None)
window.Show()
app.MainLoop()
2 运行结果
五 删除表记录功能
1 代码
# -*- coding:utf-8 -*-
import MySQLdb
from ReadCode import ReadCode
from Notice import MyFrame3
class Delete_Document_Fun():
def __init__(self,sql):
readcode = ReadCode()
Line = readcode.return_line()
try:
db = MySQLdb.connect("localhost", "%s" % Line[0],
"%s" % Line[1], "%s" % Line[2])
except:
notice = MyFrame3(None, '请检查主面板的用户名、'
'密码、DATABASE是否输入!')
notice.Show()
else:
# 使用cursor()方法获取操作游标
cursor = db.cursor()
try:
# 执行SQL语句
cursor.execute(sql)
db.commit()
except:
db.rollback()
notice = MyFrame3(None, "执行SQL语句出错!")
notice.Show()
# 关闭数据库连接
db.close()