微信公众号:[技术清点]
关注可了解更多信息。问题或建议,请公众号留言;
说明
使用python请求连接sqlserver,需要先安装 pymssql
创建连接
连接代码__connMssql是全局连接名,
# crm 连接
def conn_mssql(self):
if self.__connMssql is None:
self.__connMssql = pymssql.connect(host="192.168.xx.xx", user="xxxx", password="xxxx", database="crm", charset="utf8",autocommit=True)
self.curMssql = self.__connMssql.cursor()
def close_mssql(self):
"""关闭数据库连接"""
if self.__connMssql:
self.curMssql.close()
self.__connMssql.close()
查询与更新
同理也是简单调用
#一般进行更新、删除、插入操作
def execute_mssql(self, sql, data=None):
"""执行操作数据的相关sql"""
try:
self.conn_mssql()
if data is None:
self.curMssql.execute(sql)
else :
self.curMssql.execute(sql, data)
# sql server 执行无返回结果
# self.curMssql.commit() 无此方法
except Exception:
print("执行保存或更新失败.....", traceback.print_exc())
finally:
return False #self.close_mssql()
# 进行查询操作
def search_mssql(self, sql):
"""执行查询sql"""
self.conn_mssql()
self.curMssql.execute(sql)
return self.curMssql.fetchall()
使用类封装
把上面相关函数代码放入下面即可使用,这是简单分解
import pymssql
from dateutil import parser
import traceback
class CrmMsConn:
__connMssql = None
# crm 连接
# DML 相关操作函数
# 一般调用查询会存在多个调用查询,这里不执行连接关闭,上面连接有自动提交
def select_dept_name(self,signName):
try:
if signName is None:
return False
#sql 语句一般需要什么信息,查询什么信息,这里只是随便写写
sql = " select b.sName as name, b.jiguan as position,b.smobile as phone,c.sName as dept_name "\
" from org_employee b left join org_dep c on b.idDep=c.ID where b.sName='" +signName+ "'"
for row in self.search_mssql(sql):
#print(row)
dept_name = row[3]
if dept_name:
return dept_name
return False
except Exception as err:
print("查询员工出错:",err)
return False
#调用代码
if __name__ == "__main__":
crm = CrmMsConn()
deptName = crm.select_dept_name("沙沙")
print("部门:"+deptName)
###Tips
以后主要做一些Java相关的总结,python只是一个简单使用.
下面的是我的公众号二维码图片,欢迎关注。