`
metallica_1860
  • 浏览: 33187 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

python是个什么东西---python---PyQt4自备SQLite连接与查询

阅读更多


# coding:UTF-8
import os
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtSql import *
from ExcelTool import ExcelHandler

def insertData(filenames):
    query = QSqlQuery()
    for filename in filenames:
        eh = ExcelHandler()
        results = eh.read_xls(filename)
        for result in results:
            for lines in result[1]:
                sql = "INSERT INTO pseas VALUES ("
                for ii in range(len(lines)):
                    sql = sql + "'" + lines[ii].replace("\n","") + "'"
                    if ii == len(lines) - 1:
                        sql = sql + ")"
                    else:
                        sql = sql + ","
                query.exec_(sql)
                print sql
        QApplication.processEvents()
        
    query = QSqlQuery()
    sql = u"delete FROM pseas where jxName='XXX'"
    query.exec_(sql)
    print sql
    QApplication.processEvents()
    
    query.clear()
    query.finish()
    
def createData(filenames):
    print "Dropping tables..."
    query = QSqlQuery()
    query.exec_("DROP TABLE version")
    QApplication.processEvents()

    print "Creating tables..."
#    query.exec_("""CREATE TABLE pseas (bsid VARCHAR(255) PRIMARY KEY NOT NULL,page VARCHAR(255),jxnum VARCHAR(255), jxname VARCHAR(255), jgnum VARCHAR(255), jgjpname VARCHAR(255), jgenname VARCHAR(255), ljid VARCHAR(255), ljnum VARCHAR(255),lj12num VARCHAR(255),ljjpname VARCHAR(255),ljenname VARCHAR(255),ljcount VARCHAR(255))""")
    query.exec_("""CREATE TABLE version (vsid INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL, vsnum VARCHAR(255) ,vsdate VARCHAR(255))""")    
    QApplication.processEvents()
    
#    print "Creating data..."
#    query.exec_("""INSERT INTO version(vsnum,vsdate) VALUES('1','20100802')""")    
#    query.exec_("""INSERT INTO version(vsnum,vsdate) VALUES('2','20100802')""")
#    query.exec_("""INSERT INTO version(vsnum,vsdate) VALUES('3','20100802')""")
#    query.exec_("""INSERT INTO version(vsnum,vsdate) VALUES('1','20100803')""")
#    query.exec_("""INSERT INTO version(vsnum,vsdate) VALUES('2','20100803')""")
#    query.exec_("""INSERT INTO version(vsnum,vsdate) VALUES('3','20100803')""")
#    query.exec_("""INSERT INTO version(vsnum,vsdate) VALUES('4','20100803')""")
#    query.exec_("""INSERT INTO version(vsnum,vsdate) VALUES('1','20100804')""")
#    query.exec_("""INSERT INTO version(vsnum,vsdate) VALUES('1','20100805')""")
#    query.exec_("""INSERT INTO version(vsnum,vsdate) VALUES('1','20100806')""")
#    QApplication.processEvents()

#    query.exec_("""INSERT INTO version VALUES('1','1','20100802')""")    
#    query.exec_("""INSERT INTO version VALUES('2','2','20100802')""")
#    query.exec_("""INSERT INTO version VALUES('3','3','20100802')""")
#    query.exec_("""INSERT INTO version VALUES('4','1','20100803')""")
#    query.exec_("""INSERT INTO version VALUES('5','2','20100803')""")
#    query.exec_("""INSERT INTO version VALUES('6','3','20100803')""")
#    query.exec_("""INSERT INTO version VALUES('7','4','20100803')""")
#    query.exec_("""INSERT INTO version VALUES('8','1','20100804')""")
#    query.exec_("""INSERT INTO version VALUES('9','1','20100805')""")
#    query.exec_("""INSERT INTO version VALUES('10','1','20100806')""")
#    QApplication.processEvents()
    print "Populating tables..."
    vsid = '0'
    vsnum='0'
    vsdate = '20100813'
    query.exec_("select max(vsid),vsnum,vsdate from version where vsdate='"+vsdate+"'")
    while query.next():
        vsid = unicode(query.value(0).toString())
        vsnum = unicode(query.value(1).toString())
        vsdate = unicode(query.value(2).toString())
    if vsid=='':
        print "vsid = ''"
    if vsnum=='':
        print "vsnum = ''"
    if vsdate == "":
        print "vsdate = ''"
#    insertData(filenames)
#    eh = ExcelHandler()
#    result = eh.read_xls(filename)
#    for lines in result:
#        sql = "INSERT INTO pseas VALUES ("
#        for ii in range(len(lines)):
#            sql = sql + "'" + lines[ii] + "'"
#            if ii == len(lines)-1:
#                sql = sql + ")"
#            else:
#                sql = sql + ","
#        query.exec_(sql)
#        print sql
#    QApplication.processEvents()

def main():
    app = QApplication(sys.argv)

    filename = os.path.join(os.path.dirname(__file__), "pseas.db")
    create = not QFile.exists(filename)

    db = QSqlDatabase.addDatabase("QSQLITE")
    db.setDatabaseName(filename)
    if not db.open():
        QMessageBox.warning(None, "Asset Manager",
            QString("Database Error: %1").arg(db.lastError().text()))
        sys.exit(1)
    app.setOverrideCursor(QCursor(Qt.WaitCursor))
    app.processEvents()
    if create:
        files = [u'./datafiles/aaa.xls']
        createData(files)
    else:
        files = ['./datafiles/bbb.xls']
#       createData(files)
        insertData(files)
    app.exec_()
    del db
    sys.exit(1)
main()

 

 

 

分享到:
评论

相关推荐

    python是个什么东西---python---pyqt做的一个浏览器

    "Python是个什么东西"这个问题,其实是在询问Python的基本概念以及其在不同领域的应用。 Python支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。它内置了丰富的标准库,涵盖了网络、操作系统接口、...

    python-vlc-for-Pyqt5-master_ip摄像头_pyhton;vlc_pyqt5_pyqtvlc_vlc_源

    vlc_pyqt5_pyqtvlc_vlc_源"表明这是一个使用Python、VLC(VideoLAN Client)库以及PyQt5构建的项目,目的是在PyQt5应用程序中展示IP摄像头的实时监控画面。让我们深入探讨这些关键组件和相关知识点。 **Python** 是...

    python聊天室---pyqt5+socket+Thread聊天室

    本项目“python聊天室---pyqt5+socket+Thread聊天室”旨在教授如何利用Python的PyQt5库创建一个聊天室应用,并通过Socket进行网络通信,同时采用多线程(Thread)来实现后台任务的异步执行。以下将详细解析这个项目的...

    课程设计基于python+pyqt5+sqlite3实现的图书信息管理系统源码+详细注释.zip

    课程设计基于python+pyqt5+sqlite3实现的图书信息管理系统源码+详细注释.zip课程设计基于python+pyqt5+sqlite3实现的图书信息管理系统源码+详细注释.zip课程设计基于python+pyqt5+sqlite3实现的图书信息管理系统源码...

    PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32

    PyQt4是一个强大的工具包,它允许Python程序员利用Qt库创建功能丰富的图形用户界面(GUI)应用程序。这个压缩包“PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32”是专门为在32位系统上运行Python 2.7设计的PyQt4版本,版本号...

    Python库 | PyQt5_sip-12.8.1-cp35-cp35m-win_amd64.whl

    标题中的"Python库 | PyQt5_sip-12.8.1-cp35-cp35m-win_amd64.whl"表明我们正在讨论的是一个与Python编程语言相关的库,具体是PyQt5的SIP模块的一个版本。PyQt5是一个用于构建图形用户界面(GUI)的应用程序的Python...

    Qt-Python-Binding-Examples-master.zip_pyqt_python qt_python_qt_b

    Qt-Python-Binding,通常称为PyQt,是一种将Qt应用程序框架与Python编程语言相结合的工具。由Riverbank Computing开发并维护,PyQt使得Python程序员能够利用Qt的强大功能来创建桌面GUI(图形用户界面)应用。标题中...

    《PYTHON QT GUI快速编程---PYQT编程指南》源码

    Python PyQt 是一个强大的GUI编程框架,它允许开发者使用Python语言来构建美观且功能丰富的图形用户界面。这本书《PYTHON QT GUI快速编程---PYQT编程指南》是基于英文原版《Rapid GUI Programming with Python and ...

    python27-pyqt4

    Python27-PyQT4是基于Python 2.7版本的图形用户界面开发库,它提供了PyQT4库,这是一个强大的工具集,用于在Python中创建功能丰富的、交互式的GUI应用程序。PyQT4是Qt库的Python绑定,Qt库本身是由Qt Company开发的...

    python-pyqt5-demo

    PyQt5是Python与Qt库之间的桥梁,Qt库是一个跨平台的C++框架,广泛用于开发桌面、移动和嵌入式应用。通过PyQt5,Python程序员可以利用Qt的强大功能,同时保持Python的简洁性和易读性。 **核心概念** 1. **QWidgets...

    pyqt5下连接sqlite3并显示

    利用qtdesigner设计界面工具,连接数据库并显示在tableview

    Python库 | QT-PyQt-PySide-Custom-Widgets-0.1.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:QT-PyQt-PySide-Custom-Widgets-0.1.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    python QT GUI快速编程--pyqt编程指南

    PyQt是Python与Qt库的接口,它允许开发者利用Python的简洁语法和Qt的强大功能来创建丰富的、交互式的桌面应用程序。在本指南中,我们将深入探讨这一主题,了解如何利用PyQt快速构建高效、美观的GUI应用。 首先,...

    python3-pyqt5-sip-4.19.19-2.el8.aarch64.rpm

    官方离线安装包,亲测可用

    使用pyqt5实现的Python-GUI动态作图例子

    首先,PyQT5是Python中的一个跨平台的GUI库,它是Qt库的一个Python绑定。它允许开发者创建出与操作系统深度融合、功能丰富的应用程序。PyQT5包含了各种组件,如按钮、文本框、标签、滚动条等,以及更复杂的布局管理...

    PYTHON QT GUI快速编程-PYQT编程指南

    PYTHON QT GUI快速编程-PYQT编程指南 基于PyQt4的技术文档

    PyQt6离线包 for python-3.9.10 64位

    PyQt6是Python编程语言与Qt库的接口,它允许开发者使用Python来创建跨平台的图形用户界面(GUI)应用程序。PyQt6是Qt6版本的Python绑定,提供了丰富的控件、工具和功能,用于构建现代、高效且美观的桌面应用。这个...

    python大作业新项目-基于PyQt5的音乐播放器python实现源码.zip

    python大作业新项目-基于PyQt5的音乐播放器python实现源码.zip 【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目...

    PYQT5+sqlite数据库+QTableWidget自定义表格显示

    在本项目中,PYQT5被用来创建一个桌面小工具,该工具与sqlite数据库进行交互,展示并管理数据。sqlite是一个轻量级的关系型数据库,非常适合小型应用或嵌入式系统,因为它不需要独立的服务器进程,可以直接在文件...

Global site tag (gtag.js) - Google Analytics