• 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()
  • 相关阅读:
    memcached构建集群分析之一
    linux使用getopt解析参数
    setbuffer和freopen做一个简单的日志组件
    setbuf和freopen
    编码规范的重要性
    c++的操作符格式记录
    do{...}while(0)的作用
    CF div2 321 C
    CF div2 321 B
    CF div2 321 A
  • 原文地址:https://www.cnblogs.com/fyangq/p/12516193.html
Copyright © 2020-2023  润新知