es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de operación en sqlite3: cerca de “<": error de sintaxis: ¿Problema con la formatación de SQL en Python?

Estoy haciendo un Proyecto de Ingeniería de Software para uno de mis cursos finales de Ciencias de la Computación y me estoy quedando atascado en este error en particular mientras estoy tratando de hacer mi prueba de datos/unidad de los métodos antes de fusionar mis métodos con el GUI de mis compañeros. Cualquier persona que pueda ayudarme a resolver este problema es mi héroe.

clase Estudiante:
def init(self, ID_Estudiante, Nombre_Estudiante, conn: sql.Connection, curs: sql.Cursor):
self.ID_Estudiante = ID_Estudiante
self.Nombre_Estudiante = Nombre_Estudiante

def agregarEstudiante(self, curs: sql.Cursor):
    consulta = f&quot;&quot;&quot;INSERT INTO Estudiante
            (ID_Estudiante, Nombre_Estudiante)
            VALUES ({self.ID_Estudiante},{self.Nombre_Estudiante})&quot;&quot;&quot;
    curs.execute(consulta)
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Es probable que el error de sintaxis en este código se deba al uso de f-strings sin comillas alrededor de las variables que se insertan en la consulta SQL. Para solucionar esto, agregue comillas alrededor de {self.StudentID} y {self.StudentName}:

    class Estudiante:
        def __init__(self, StudentID, StudentName, conn: sql.Connection, curs: sql.Cursor):
            self.StudentID = StudentID
            self.StudentName = StudentName
    
        def agregarEstudiante(self, curs: sql.Cursor):
            query = f"""INSERT INTO Estudiante
                    (StudentID, StudentName)
                    VALUES ('{self.StudentID}','{self.StudentName}')"""
            curs.execute(query)
    

    Si se está produciendo un error diferente, proporcione más información sobre el mensaje de error que está recibiendo.

Comments are closed.