#encoding: utf-8
import sqlite3
#import time
#createtabsql1 = "create table if not exists scriptdata(id integer primary key autoincrement, name varchar(128), info varchar(128))"
class DBDriver:
'''
The DBDriver class use to write the script data that parse from Excel file
'''
def __init__(self, dbfile, tabledesc):
self.tablename = tabledesc[0]
self.tablefield = tabledesc[1]
self.dbfile = dbfile
def cerateDB(self):
createlist = ["create table if not exists ", self.tablename, "(id integer primary key autoincrement, ", self.tablefield, ")"]
createsql = "".join(createlist)
self.conn = sqlite3.connect(self.dbfile)
self.conn.isolation_level = None
#self.conn.execute("drop table if exists " + self.tablename) ###delete the eixst table
self.conn.execute(createsql) ####create new table
#conn.execute("delete from " + tablename) ####delete all the recoreds
return
def execDB(self, execsql):
self.conn.execute(execsql)
self.conn.commit()
return
def getResult(self, selectsql):
self.cur = self.conn.cursor()
self.cur.execute(selectsql)
self.res = self.cur.fetchall()
return self.res
def getCount(self):
return len(self.res)
def closeDB(self):
self.cur.close()
self.conn.close()
'''
The example for using the DBDriver class
'''
if __name__ == '__main__':
dbfile = "D:/aaa.db"
tabledesc = ("scriptdata", "name varchar(128), info varchar(128)")
insertsql = "insert into scriptdata(name,info) values ('zhaowei1', 'only a test')"
selectsql = "select * from scriptdata"
dbd = DBDriver(dbfile, tabledesc)
dbd.cerateDB()
dbd.execDB(insertsql)
res = dbd.getResult(selectsql)
rows = dbd.getCount()
dbd.closeDB()
print 'row:', rows
for line in res:
for col in line:
print col
python内置轻量级数据库sqlite3操作
最新推荐文章于 2025-06-30 12:26:40 发布