zoukankan      html  css  js  c++  java
  • python sqlserver的封装


    from do_config import cfg #将数据库的信息写到配置文件读取
    import pymssql


    class HandleSqlSever:
    def __init__(self):
    self.conn = pymssql.connect(host = cfg.get_values('sql_server','host'),
    user = cfg.get_values('sql_server','user'),
    password = cfg.get_values('sql_server','password'),
    database = cfg.get_values('sql_server','database'),
    charset = cfg.get_values('sql_server','charset'),
    autocommit=False

    )


    self.cur = self.conn.cursor()

    def query_sql(self,sql,args=None,is_all=False):
    """
    查询sql
    :param sql:
    :param args:
    :param is_all:
    :return:
    """
    self.cur.execute(sql,args)
    if is_all:
    return self.cur.fetchall()
    else:
    return self.cur.fetchone()

    def insert_update_delete(self,sql,val):
    """
    增删改
    :param sql:
    :return:
    """
    try:
    self.cur.execute(sql,val)
    except Exception as e:
    print("执行增删改{}有错,错误是{},需要回滚".format(val,e))
    self.conn.rollback()
    # 增删改操作有误时回滚操作
    else:
    self.conn.commit()
    print("事务提交成功")

    def close_mysql(self):
    self.cur.close()
    self.conn.close()


    if __name__ == '__main__':
    data =HandleSqlSever()
    #sql ="""select testId from T_Test where sourceName='江苏省人民医院'"""
    #result = data.query_sql(sql,is_all=True)
       ts = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())

    sql = "INSERT INTO T_PA_UserGroupMap (userId, groupId,spId,creatorId,createdAt) VALUES (%s, %s,21,100664773,%s)"
    val = ("100668149", 355, ts)
    data.insert_update_delete(sql,val)
       data.close_mysql()
  • 相关阅读:
    手机APP漏洞
    测试用例的优先级的概念
    测试出现BUG的理论逻辑
    django-redis 中文文档
    DRF单表序列化和反序列化
    事件
    QT文件操作
    一道字符串题目
    明日方舟六星出货率
    简易图片查看器
  • 原文地址:https://www.cnblogs.com/fyangq/p/12516193.html
Copyright © 2011-2022 走看看