- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
python 的sqlite3连接模块用法
?
python在2.5版以后,就自带了sqlite3模块,直接import即可。
?
模块可用后,就可以实现连接sqlite数据库的功能。sqlite3数据库与mysql不同,它每一个库叫做一个文件,连接的时候,库名即文件名,库内的表则操作方法与mysql相同,或许支持的sql语句会有一些差异。
?
我根据连接mysql的操作方法的包装,改写成了这个sqlite数据库连接模块。附件有这个源码。
?
?
Python代码??
#coding=gbk??
import?os,sys,string??
import?sqlite3??
import?traceback??
??
class?SQLObj(object):??
????def?__init__(self,?db?=?youmoney):??
????????self.db_name?=?db??
????????self.connected?=?0??
????????self.cur??=?None?#?指针对象??
????????self.conn?=?None?#?连接对象??
????????self._connect()??
??
????def?_connect(self):??
????????try:??
????????????#print?connect?to?,?self.db_name??
????????????self.conn?=?sqlite3.connect(self.db_name)??
????????????self.cur?=?self.conn.cursor()??
????????????self.connected?=?1??
????????except:??
????????????traceback.print_exc()??
????????????self.connected?=?0??
?
????@property??
????def?is_connected(self):??
????????return?self.connected?!=?0??
??
????def?_check_alive(self):??
????????if?not?self.is_connected:??
????????????self._connect()??
????????if?not?self.is_connected:??
????????????raise?Cant?connect?to?sqlite3??
??
????#直接提取方法??
????def?query(self,?sql,?warning=1):??
????????self._check_alive()??
????????try:??
????????????cur?=?self.conn.cursor()??
????????????cur.execute(sql)??
????????????res?=?cur.fetchall()??
????????????cur.close()??
????????except:??
????????????if?warning:??
????????????????traceback.print_exc()??
????????????return?None??
????????return?res??
??
??
????#特殊的提取方法,形成字典返回??
????def?dquery(self,?sql,?warning=1):??
????????self._check_alive()??
????????try:??
????????????cur?=?self.conn.cursor()??
????????????cur.execute(sql)??
??????????????
????????????des?=?cur.description?#获取字段描述??
????????????res?=?cur.fetchall()??#获取字段内容??
????????????ret?=?[]??
????????????if?des:??
????????????????names?=?[x[0]?for?x?in?des]?#从des中提取每个元素(列表)的第一个元素(字符串)??
????????????????for?line?in?res:??
????????????????????ret.append(dict(zip(names,?line)))?#dict是形成字典的工厂函数,zip用于多个列表循环(name,?line是两个列表)??
????????????e
您可能关注的文档
最近下载
- 加油站双重预防机制建设-作业活动清单.docx
- 新人教版四年级上册数学第四单元《三位数乘两位数复习课》名师教学设计.doc
- 财政学选择判断题库.doc VIP
- 基本公共卫生服务项目组织管理课件灵石武佳波.ppt
- DRIs中国居民膳食参考摄入量.doc VIP
- 国际主义设计运动课件.ppt
- 范氏兄弟新书《从天而降的奇迹》.pptx
- 水库大坝深基坑开挖专项方案.doc VIP
- 上海市小学英语单元整体教学设计的调查与分析-investigation and analysis on the overall teaching design of english units in shanghai primary schools.docx
- 全面提升医疗质量文件专题考试.doc
文档评论(0)