• Python3实战系列之八(获取印度售后数据项目)


    问题:续接上一篇。说干咱就干呀,勤勤恳恳写程序呀!

    目标:此篇开始进入正题了。为实现我们整个项目功能而开始实现各个子模块功能。首先实现第一篇列出的分步功能模块的第五步:

    5、python连接SQL Server,读写数据

    解决方案:查找python与SQL Server交互的相关资料,编写涉及的功能函数,并将其封装在一个通用的SQLHelper类中。这样方便使用和维护。

    具体实践:

    1、新建了一个类: SQLHelper.py。首行添加代码:import pymssql,引用 pymssql包。

    2、初始化类时,初始化数据库服务名称,登录用户,登录密码,数据库名称。

    def __init__(self, host, user, pwd, db_name):
    self.host = host
    self.user = user
    self.pwd = pwd
    self.db_name = db_name

    3、获取连接数据库的连接信息,返回

    def get_connect(self):
    """
    得到连接信息
    返回: conn.cursor()
    """
    if not self.db_name:
    Error_Message = "没有设置数据库信息"
    raise (NameError, Error_Message)
    try:
    self.conn = pymssql.connect(host=self.host, user=self.user, password=self.pwd, database=self.db_name,
    charset="utf8")
    cur = self.conn.cursor()
    except Exception as e:
    print(e)
    Error_Message = "连接数据库失败"
    if not cur:
    Error_Message = "连接数据库失败"
    raise (NameError, Error_Message)
    else:
    return cur

    4、查询函数,无查询执行函数

    def exec_query(self, sql):
    """
    执行查询语句
    返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段

    调用示例:
    ms = MSSQLHelper(host="localhost/MSSQL2008",user="sa",pwd="xxx",db_name="xxx")
    list_data = ms.exec_query("select ID, UserName from dbo.Users")
    for (ID, UserName) in list_data:
    print str(ID),UserName
    """
    cur = self.get_connect()
    cur.execute(sql)
    list_data = cur.fetchall()

    # 查询完毕后必须关闭连接
    self.conn.close()
    return list_data


    def exec_non_query(self, sql):
    """
    执行非查询语句

    调用示例:
    ms = MSSQLHelper(host="localhost/MSSQL2008",user="sa",pwd="xxx",db_name="xxx")
    ms.exec_query("insert into Users values('3','风清扬')")

    """
    try:
    cur = self.get_connect()
    cur.execute(sql)
    self.conn.commit()
    self.conn.close()
    return True
    except Exception as e:
    print(e)
    Error_Message = e
    return False
  • 相关阅读:
    stark
    MySQL与JDBC
    存储过程/视图/触发器
    MyCat部署运行(Windows环境)与使用步骤详解
    常用单词总结
    表单校验---validation检验
    jQuery简介
    javascript简单介绍
    HTML&&CSS
    消息队列Java的简单实现
  • 原文地址:https://www.cnblogs.com/johsan/p/9041833.html
Copyright © 2020-2023  润新知