功能介绍:

查询数据库表数据,提取数据并显示

main.py(执行文件)

#coding:gbk
__author__ = 'Hito'
import querySmscode
import wx
class MyFrame( wx.Frame ):
    def __init__( self):
        wx.Frame.__init__(self,None,-1, 'SMSCODE',(-1,-1),wx.Size(350,300))
        code=querySmscode.querySmscode()
        panel = wx.Panel(self,-1)
        smsCodeBox = wx.BoxSizer( wx.HORIZONTAL )
        head=wx.StaticText(panel, 1,"Phone\t\tSmscode",(120,10),(200, -1), wx.ALIGN_CENTER)
        self.content=wx.TextCtrl(panel, 2,code,(120,35),(300, -1), style = wx.TE_MULTILINE|wx.TE_READONLY)
        self.Refresh = wx.Button(panel,3,u"查询")
        wx.EVT_BUTTON(self,3,self.show_Smscode)
        sizer = wx.FlexGridSizer(rows=3,cols=1, hgap=6, vgap=6)
        sizer.AddMany([(head,0,wx.ALIGN_CENTER), (self.content,0,wx.ALIGN_CENTER),(self.Refresh,0,wx.ALIGN_CENTER)])
        smsCodeBox.Add(sizer, proportion=1, flag=wx.ALL|wx.EXPAND, border=15)
        panel.SetSizer(smsCodeBox)
        self.Center()
    def show_Smscode(self,event):
        self.Refresh.SetLabel(u"查询中...")
        code=querySmscode.querySmscode()
        self.content.SetValue(code)
        self.Refresh.SetLabel(u"查询")
if __name__ == "__main__":
    app = wx.App()
    frame = MyFrame()
    frame.Show()
    app.MainLoop()
querySmscode.py
#coding:gbk__author__ = 'yanghaitao'import  pymssqlimport ConfigParser,oscf = ConfigParser.ConfigParser()cf.read('./smscode.ini')HOST=cf.get("DB_CONFIG","host")DATABASE=cf.get("DB_CONFIG","database")USER=cf.get("DB_CONFIG","user")PASSWORD=cf.get("DB_CONFIG","password")def querySmscode(n=20):    result=''    count=0    sql='SELECT  TOP %d * FROM SMScode ORDER BY Id DESC '%n    result_list=getData(sql)    for i in range(n):        if str(result_list[i][3]) != 'None' and count<10 and len(str(result_list[i][3])) == 4:            count=count+1            result=result + str(result_list[i][1])+'\t'+str(result_list[i][3])+'\t'+str(result_list[i][2])[0:19]+'\n'    return  result

def getData(sql):                                                    #执行数据库查询函数    conn=pymssql.connect(host=HOST,user=USER,password=PASSWORD,database=DATABASE,charset="UTF-8")    cou=conn.cursor()    cou.execute(sql)    result = cou.fetchall()    conn.commit()    conn.close()    return result

smscode.ini(数据库配置文件,具体的读写操作,可参考http://www.cnblogs.com/hito/p/4651647.html)

[DB_CONFIG]
host = XXX.XXX.X.X
database = 数据库名
user = 账号
password = 密码
 

wx模块小实例的更多相关文章

  1. --@angularJS--综合小实例1

    <!DOCTYPE HTML><html ng-app="myapp"><head> <title>综合小实例</title& ...

  2. Python(五)编程小实例

    Python(五)编程小实例 抓取网页信息,并生成txt文件内容! Python抓取网页技能--Python抓取网页就是我们常看见的网络爬虫,我们今天所要用到的就是我们Python中自带的模块,用这些 ...

  3. Android单片机与蓝牙模块通信实例代码

    Android单片机与蓝牙模块通信实例代码 参考路径:http://www.jb51.net/article/83349.htm 啦啦毕业了,毕业前要写毕业设计,需要写一个简单的蓝牙APP进行交互,通 ...

  4. python+pcap+dpkt 抓包小实例

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ 网络数据包捕获与分析程序 """ imp ...

  5. Python_爬虫小实例

    爬虫小实例 一.问题描述与分析 Q:查询某一只股票,在百度搜索页面的结果的个数以及搜索结果的变化. 分析: 搜索结果个数如下图: 搜索结果的变化:通过观察可以看到,每个一段时间搜索结果的个数是有所变化 ...

  6. VueX(vue状态管理)简单小实例

    VueX:状态管理 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 核心模块:State. ...

  7. Django 小实例S1 简易学生选课管理系统 12 CSS样式完善

    Django 小实例S1 简易学生选课管理系统 第12节--CSS样式完善 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块的逻辑代码到这里 ...

  8. Django 小实例S1 简易学生选课管理系统 11 学生课程业务实现

    Django 小实例S1 简易学生选课管理系统 第11节--学生课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,学生需要拥 ...

  9. Django 小实例S1 简易学生选课管理系统 10 老师课程业务实现

    Django 小实例S1 简易学生选课管理系统 第10节--老师课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,老师将要使 ...

随机推荐

  1. 【ci框架基础】之部署百度编辑器

    在ci框架下加载编辑器,现在复习下内容.我的框架文件名称为ci 1.下载百度编辑器ueditor,http://ueditor.baidu.com/ 一般情况下下载ubuilder版即可,并将uedi ...

  2. StringUtils工具类常用方法介绍(持续更新)

    StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出Nu ...

  3. vs调试时底部输出调试信息“无法查找或打开 PDB 文件”解决办法

    用VS调试程序时,有时会在VS底部的"输出"框中提示"无法查找或打开 PDB 文件".这该怎么解决呢? 下面,我们以VS2013为例,来教大家解决办法. 工具/ ...

  4. Spark Streaming实时写入数据到HBase

    一.概述 在实时应用之中,难免会遇到往NoSql数据如HBase中写入数据的情景.题主在工作中遇到如下情景,需要实时查询某个设备ID对应的账号ID数量.踩过的坑也挺多,举其中之一,如一开始选择使用NE ...

  5. 读书笔记 effective c++ Item 2 尽量使用const,枚举(enums),内联(inlines),不要使用宏定义(define)

    这个条目叫做,尽量使用编译器而不要使用预处理器更好.#define并没有当作语言本身的一部分. 例如下面的例子: #define ASPECT_RATIO 1.653 符号名称永远不会被编译器看到.它 ...

  6. CocoaPods 2016最新安装和使用说明

    cocoapods 简介: CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所 ...

  7. matlab for循环的三种类型

    学习了一半了,发现一个好网站,就是我想写这篇博客用的,网络真是个好东西!纪念下国庆啦 网址:http://www.yiibai.com/matlab/matlab_for_loop.html ---- ...

  8. C语言memset学习

    #include <stdio.h> #include <memory.h> ]); //函数声明 void main(){ ]={{,,},{,,},{,,},{,,}};/ ...

  9. 如何实现php字符串翻转?

    字符串:$str = "abcdefg"; // 方法一(直接使用php自带函数strrev($str)) print_r(strrev($str)); // 使用for循环方式, ...

  10. .NET Core log4net 使用

    log4net .NET Core 版使用,log4net 2.0.7版发布也有一段时间了,从2.0.6 版开始就已经支持.NET Core. 之前有介绍NLog .NET Core版的使用,ASP. ...