设为首页 收藏本站
查看: 1576|回复: 0

[经验分享] python是个什么东西---python---PyQt4自备SQLite连接与查询

[复制链接]

尚未签到

发表于 2016-12-1 12:00:20 | 显示全部楼层 |阅读模式
  



# 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()

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-308229-1-1.html 上篇帖子: Android之怎么使用SQLite数据库(增、删、改、查、分页等)以及ListView显示数据 下篇帖子: 如何在DOS窗口正确显示UTF-8字符,解决SQLite中文乱码问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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