首页 > 数据库 >Python 自定义数据库连接类

Python 自定义数据库连接类

时间:2023-01-27 15:03:57浏览次数:47  
标签:cur 自定义 Python 数据库 host user ._ self conn


创建一个配置文件:E:/mypy/mycnf.txt

[mssql]
host = HZC
user = kk
pwd = kk
dbname = DemoDB

数据库连接类:E:/mypy/MSSQL.py

# -*- coding: utf-8 -*-  
# python 3.5

import sys
import pymssql
import ConfigParser
sys.path.append(r'E:/mypy')

#从文件系统读取配置文件
cf = ConfigParser.ConfigParser()
cf.read("mycnf.txt")
host = cf.get("mssql", "host")
user = cf.get("mssql", "user")
pwd = cf.get("mssql", "pwd")
db = cf.get("mssql", "dbname")

class MSSQL:
#def __init__(self,host=None,user=None,pwd=None,db=None):
def __init__(self):
self.host = host
self.user = user
self.pwd = pwd
self.db = db

self._conn = self.GetConnect()
if(self._conn):
self._cur = self._conn.cursor()


#连接数据库
def GetConnect(self):
conn = False
try:
conn = pymssql.connect(
host=self.host,
user=self.user,
password=self.pwd,
database =self.db
)
except Exception as err:
print("连接数据库失败, %s" % err)
else:
return conn


#执行查询
def ExecQuery(self,sql):
res = ""
try:
self._cur.execute(sql)
res = self._cur.fetchall()
except Exception as err:
print("查询失败, %s" % err)
else:
return res


#执行非查询类语句
def ExecNonQuery(self, sql):
flag = False
try:
self._cur.execute(sql)
self._conn.commit()
flag = True
except Exception as err:
flag = False
self._conn.rollback()
print("执行失败, %s" % err)
else:
return flag


#获取连接信息
def GetConnectInfo(self):
print( "连接信息:" )
print( "服务器:%s , 用户名:%s , 数据库:%s " % (self.host,self.user,self.db))



#关闭数据库连接
def Close(self):
if(self._conn):
try:
if(type(self._cur)=='object'):
self._cur.close()
if(type(self._conn)=='object'):
self._conn.close()
except:
raise("关闭异常, %s,%s" % (type(self._cur), type(self._conn)))


执行SQL:

# -*- coding: utf-8 -*-  
# python 3.5

import sys
sys.path.append(r'E:/mypy')
from MSSQL import MSSQL;

sql = "select oid,name,craetedate from tab;"
ms = MSSQL()
resList = ms.ExecQuery(sql)
for row in resList:
print("oid: %d\tname: %s\tcraetedate: %s" % (row[0],row[1],row[2]))

#ms.ExecNonQuery(sql)
#ms.GetConnectInfo()
#ms.Close()



标签:cur,自定义,Python,数据库,host,user,._,self,conn
From: https://blog.51cto.com/hzc2012/6024099

相关文章

  • Python_argparse_读取命令行参数
    argparse模块是Python内置的用于命令项选项与参数解析的模块,可以方便地读取命令行参数。参考代码如下#1.导入模块importargparsedefformat_parser():#......
  • Python入门之continue语法
    """continue语法"""#累加1-100之间的数字,能被5整除的数字#sum_value=0#foriteminrange(1,101):#满足条件则累加#ifitem%5==0:#su......
  • Python入门之for循环练习
    """for:适合执行预定次数。while:适合根据条件循环执行。"""#for变量in可迭代对象#循环体str01="我叫黎二狗!"#item存储的是字符串中每个字符串......
  • Python scrapy 爬取拉勾网招聘信息
    周末折腾了好久,终于成功把拉钩网的招聘信息爬取下来了。现在总结一下!环境:windows8.1+python3.5.0首先使用 scrapy创建一个项目:E:\mypy>scrapystartprojectlgjob......
  • Python selenium 拉钩爬虫
    selenium用作自动化测试工具,并非爬虫工具,用作爬虫性能没那么好。但既然可以读取网页信息,那还是可以用来爬取数据的。用该工具模拟访问,网站会认为是正常的访问行为。项目创......
  • Lepus(天兔)数据库监控系统
    更多介绍参考官网:​​http://www.lepus.cc/​​参考官方文档,以 Xampp集成安装相关软件。Xampp下载地址:​​https://www.apachefriends.org/download.html​​ 下载安装X......
  • SQL Server Powershell 开源数据库管理工具 dbatools
    在Windows中开发自动化运维,除了python就是powershell了,powershell与windows相关产品关联紧密,Windows环境下的自动化开发一般使用powershell,sqlserver亦是如此......
  • 实战案例!用1行Python代码识别身份证信息,准确率超过99%,YYDS
    大家好,这里是程序员晚枫。录入身份证信息是一件繁琐的工作,如果可以自动识别并且录入系统,那可真是太好了。今天我们就来学习一下,如何自动识别身份证信息并且录入系统~识......
  • 【Python基础学习】6.组合数据类型
    主要参考来源:慕课嵩天老师的“Python语言程序设计”[https://www.icourse163.org/course/BIT-268001?tid=1468130447]6.1集合类型及操作集合类型定义集合是多个元素的无......
  • 实战案例!Python批量识别银行卡号码并且写入Excel,小白也可以轻松使用~
    大家好,这里是程序员晚枫,今天我们继续学习Python自动化办公:每次有新员工入职,都要收集大量的工资卡信息,并且生成Excel文档,能不能用Python准确、快速地解决呢?今天我们就来学......