欢迎来到天天文库
浏览记录
ID:8813968
大小:34.28 KB
页数:16页
时间:2018-04-08
《python的sqlite3连接模块用法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、python在2.5版以后,就自带了sqlite3模块,直接import即可。 模块可用后,就可以实现连接sqlite数据库的功能。sqlite3数据库与mysql不同,它每一个库叫做一个文件,连接的时候,库名即文件名,库内的表则操作方法与mysql相同,或许支持的sql语句会有一些差异。 我根据连接mysql的操作方法的包装,改写成了这个sqlite数据库连接模块。附件有这个源码。 Python代码 1.#coding=gbk 2.import os,sys,string 3.import sql
2、ite3 4.import traceback 5. 6.class SQLObj(object): 7. def __init__(self, db = 'youmoney'): 8. self.db_name = db 9. self.connected = 0 10. self.cur = None # 指针对象 11. self.conn = None # 连接对象 12. self._connect()
3、 13. 14. def _connect(self): 15. try: 16. #print "connect to ", self.db_name 17. self.conn = sqlite3.connect(self.db_name) 18. self.cur = self.conn.cursor() 19. self.connected = 1 1. exce
4、pt: 2. traceback.print_exc() 3. self.connected = 0 4. 5. @property 6. def is_connected(self): 7. return self.connected != 0 8. 9. def _check_alive(self): 10. if not self.is_connected: 11. sel
5、f._connect() 12. if not self.is_connected: 13. raise "Can't connect to sqlite3" 14. 15. #直接提取方法 16. def query(self, sql, warning=1): 17. self._check_alive() 18. try: 19. cur = self.conn.cursor() 20.
6、 cur.execute(sql) 21. res = cur.fetchall() 22. cur.close() 23. except: 24. if warning: 25. traceback.print_exc() 26. return None 27. return res 28. 29. 30. #特殊
7、的提取方法,形成字典返回 31. def dquery(self, sql, warning=1): 32. self._check_alive() 33. try: 34. cur = self.conn.cursor() 35. cur.execute(sql) 36. 37. des = cur.description #获取字段描述 38.
8、 res = cur.fetchall() #获取字段内容 39. ret = [] 40. if des: 1. names = [x[0] for x in des] #从des中提取每个元素(列表)的第一个元素(字符串) 2. for line in res: 3.
此文档下载收益归作者所有