コード例 #1
0
    def modAlumnoCompleto(self, idAlumno, nombre, apellidos='NULL', dni='NULL', direccion='NULL', localidad='NULL', provincia='NULL', fecha_nacimiento='NULL', telefono='NULL',  imagen='NULL'):
        '''
        Modifica todos los atributos de un alumno dado su id al mismo tiempo.
        '''

        #Info de seguimiento
        if v:
            print apiName
            print "Llamada a modAlumnoCompleto"
            print '\n'
            print locals()

        db = dbParams.conecta();
        query="UPDATE Alumno SET"
        query=query+" nombre= "+'\''+nombre+'\''
        query=query+" , apellidos= "+'\''+apellidos+'\''
        if dni=='NULL':
            query=query+" , dni=NULL "
        else:
            query=query+" , dni= "+'\''+dni+'\''
        query=query+" , direccion= "+'\''+direccion+'\''
        query=query+" , localidad= "+'\''+localidad+'\''
        query=query+" , provincia= "+'\''+provincia+'\''

        if fecha_nacimiento=='NULL':
            query=query+" , fecha_nacimiento=NULL "
        else:
            query=query+" , fecha_nacimiento= "+'\''+fecha_nacimiento+'\''


        query=query+" , telefono= "+'\''+telefono+'\''
        query=query+" , url_imagen= "+'\''+imagen+'\''

        #Codificamos el id porque es el único que no viene codificado desde la api para que no de problema al concatenar con la sentencia SQL
        query=query+" WHERE id_alumno="+dbParams.formatOutputText(idAlumno)+";"

        if v:
            print apiName
            print '\n'+query

        cursor = db.cursor()
        #Sacando los acentos...........
        mysql_query="SET NAMES 'utf8'"
        cursor.execute(mysql_query)
        #-----------------------------#
        salida =''

        try:
            salida = cursor.execute(query);
        except MySQLdb.Error, e:
            # Get data from database
            try:
                print "MySQL Error [%d]: %s" % (e.args[0], e.args[1])
                print "Error number: "+str(e.args[0])
                salida=e.args[0]
            except IndexError:
                print "MySQL Error: %s" % str(e)
コード例 #2
0
        if salida==1:
            #Como se trata de toda la información al completo usaremos todos los campos de la clase alumno.
            #La api del mservicio envia estos datos en JSON sin comprobar nada
            alm = Alumno()
            alm.id=row[0]
            alm.nombre=row[1]
            alm.apellidos=row[2]
            alm.dni=row[3]
            alm.direccion=row[4]
            alm.localidad=row[5]
            alm.provincia=row[6]
            alm.fecha_nacimiento=row[7]
            alm.telefono=row[8]
            alm.urlImagen = row[9]

            print 'Nombre alumno: '+dbParams.formatOutputText(alm.nombre)

            return alm
        if salida==0:
            return 'Elemento no encontrado'

    @classmethod
    def modAlumno(self, idAlumno, campoACambiar, nuevoValor):
        """
        Esta función permite cambiar cualquier atributo de un alumno, dado su id.
        Parámetros:
        campoACambiar: nombre del atributo que se quiere cambiar
        nuevoValor: nuevo valor que se quiere guardar en ese campo.
        """
        db = dbParams.conecta(); #La conexión está clara.
        nuevoValor='\''+nuevoValor+'\''