吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1679|回复: 13
收起左侧

[Python 原创] 数据库检测工具

[复制链接]
phantomxjc 发表于 2024-4-15 17:46
每隔一段时间查询一次数据库信息并返回listbox中进行展示
import tkinter as tk
from tkinter import ttk, messagebox, simpledialog
import os
import cx_Oracle
import time
import threading

class MemoApp(tk.Tk):
    def __init__(self):
        super().__init__()
        self.title("数据库监控工具")
        self.geometry("400x300")
        self.resizable(False, False)
        #self.attributes("-alpha", 0.7)

        # 创建笔记本卡片
        self.notebook = ttk.Notebook(self)
        self.notebook.pack(expand=True, fill="both")

        # 创建查询卡片
        self.cx1 = tk.Frame(self.notebook)
        self.notebook.add(self.cx1, text="数据库查询")
        self.cx1_list = tk.Listbox(self.cx1)
        self.cx1_list.pack(expand=True, fill="both")

        # 创建查询卡片
        self.cx2 = tk.Frame(self.notebook)
        self.notebook.add(self.cx2, text="数据库查询")
        self.cx2_list = tk.Listbox(self.cx2)
        self.cx2_list.pack(expand=True, fill="both")

        # 创建查询卡片
        self.cx3 = tk.Frame(self.notebook)
        self.notebook.add(self.cx3, text="数据库查询")
        self.cx3_list = tk.Listbox(self.cx3)
        self.cx3_list.pack(expand=True, fill="both")
        self.thread = threading.Thread(target=self.Oracle_link())
        self.thread.start()

    def Oracle_link(self):
        conn = cx_Oracle.connect('')  # 这里的顺序是用户名/密码@oracleserver的ip地址/数据库名字
        cursor = conn.cursor()
        print('连接数据库成功!')

        self.cx1_list.delete(0, tk.END)
        self.cx2_list.delete(0, tk.END)
        self.cx3_list.delete(0, tk.END)

        sql1 = "select ywh from testtable1"
        all1 = cursor.execute(sql1)
        #print(all.fetchall())
        i = 1
        for line in all1.fetchall():
            line = str(i) + "、"+ line[0]
            print(line)
            i=i+1
            self.cx1_list.insert(tk.END, line.strip())  # strip()

        sql2 = "select ywh from testtable1"
        all2 = cursor.execute(sql2)
        # print(all.fetchall())
        i = 1
        for line in all2.fetchall():
            line = str(i) + "、" + line[0]
            print(line)
            i = i + 1
            self.cx2_list.insert(tk.END, line.strip())  # strip()

        sql3 = "select ywh from testtable1"
        all3 = cursor.execute(sql3)
        # print(all.fetchall())
        i = 1
        for line in all3.fetchall():
            line = str(i) + "、" + line[0]
            print(line)
            i = i + 1
            self.cx3_list.insert(tk.END, line.strip())  # strip()

        self.after(5000, self.Oracle_link)

    # 主程序入口
if __name__ == "__main__":
    app = MemoApp()
    app.mainloop()

效果图如下: 微信截图_20240415173927.png

免费评分

参与人数 3吾爱币 +9 热心值 +3 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Bob5230 + 1 + 1 我很赞同!
lcg2014 + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

kidwalton 发表于 2024-4-15 18:19
学习一下
zj19970417 发表于 2024-4-15 18:47
sihong 发表于 2024-4-15 19:12
hujiwen521 发表于 2024-4-15 19:46
学习下,探讨下
muyu08 发表于 2024-4-15 19:53
学习一下~
jlbslqqs 发表于 2024-4-15 19:56
这个还真是蛮有启发的
52PJ070 发表于 2024-4-16 03:04
检测思路值得学习,感谢分享!
TENTICE 发表于 2024-4-16 08:40
感谢分享!
yl130729 发表于 2024-4-17 13:39
感谢分享!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 15:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表