# 封装数据库操作
def SELECT(db, cursor, sql):
    try:
        # 执行SQL语句
        db.ping(reconnect=True)
        cursor.execute(sql)
        # 获取所有记录列表
        results = cursor.fetchall()
        logging.debug("select commit")
    except:
        logging.error(sql)
        logging.error("select 语句执行出错")
        return ""
    return results
def UPDATE(db, cursor, sql):
    try:
        db.ping(reconnect=True)
        cursor.execute(sql)
        db.commit()
        logging.debug("update commit")
    except:
        db.ping(reconnect=True)
        db.rollback()
        logging.error(sql)
        logging.error("update rollback")
    return   
def INSERT(db, cursor, sql):
    try:
        # 执行sql语句
        db.ping(reconnect=True)
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
        logging.debug("insert commit")
    except:
        # 如果发生错误则回滚
        db.ping(reconnect=True)
        db.rollback() 
        logging.error("insert rollback: " + sql)
    return
def DELETE(db, cursor, sql):
    try:
        # 执行SQL语句
        db.ping(reconnect=True)
        cursor.execute(sql)
        # 提交修改
        db.commit()
        logging.debug("delete commit")
    except:
        # 发生错误时回滚
        db.ping(reconnect=True)
        db.rollback()
        logging.error("delete rollback")
    return
def TRUNCATE(db, cursor, sql):
    try:
        # 执行SQL语句
        cursor.execute(sql)
        db.ping(reconnect=True)
        # 提交修改
        db.commit()
        logging.debug("truncate commit")
    except:
        # 发生错误时回滚
        db.ping(reconnect=True)
        db.rollback()
        logging.error("truncate rollback")
    return                
                









