Foros del Web » Programación para mayores de 30 ;) » .NET »

Error de sintaxis en la instrucción Update

Estas en el tema de Error de sintaxis en la instrucción Update en el foro de .NET en Foros del Web. Trabajando una aplicación en vbnet 2005, me econtré con ese error en la consulta modificar: No se controló Oledbexeption Error de sintaxis en la instrucción ...
  #1 (permalink)  
Antiguo 21/09/2011, 16:20
 
Fecha de Ingreso: julio-2011
Ubicación: Medellín
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Error de sintaxis en la instrucción Update

Trabajando una aplicación en vbnet 2005, me econtré con ese error en la consulta modificar:

No se controló Oledbexeption
Error de sintaxis en la instrucción Update

Código:
  Sub MODIFICAR()
        Dim CMD As New OleDb.OleDbCommand("Update teacher set idteacher='" & cboidteacher.Text & "',name='" & txtname.Text & "',subject='" & cbosubject.Text & "',last name='" & txtlast.Text & "',telephone='" & txttel.Text & "',email='" & txtemail.Text & "',salary='" & txtsal.Text & "',assigned groups='" & txtass.Text & "',shift='" & cboshift.Text & "'WHERE idteacher='" & cboidteacher.Text & "'", cn)
        cn.Open()
        CMD.ExecuteNonQuery()
        cn.Close()
        mostrar()
        MsgBox("Done")
    End Sub
Estoy trabajando con base a una guía y ya revisé varias veces y no hay diferencias entre lo que yo escribí y lo que está escrito en la guía. Este error suecede en todos los formularios que tengo. (9)

Agradecería cualquier ayuda
  #2 (permalink)  
Antiguo 22/09/2011, 07:13
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Error de sintaxis en la instrucción Update

sucede que la palabra subject es una palabra reservada en el sql, y eh alli el error, cambiale de nombre al campo y nos comentas. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 30/09/2011, 15:24
 
Fecha de Ingreso: julio-2011
Ubicación: Medellín
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Error de sintaxis en la instrucción Update

Cita:
Iniciado por Aquaventus Ver Mensaje
sucede que la palabra subject es una palabra reservada en el sql, y eh alli el error, cambiale de nombre al campo y nos comentas. Saludos!.
Muchas gracias por tu ayuda, ahora funcina, no obstante tengo exactamente el mismo error en la siguiente instrucción. Podría darme una mano una vez mas.
Código:
    Sub Modificar()

        Dim cmd As New OleDb.OleDbCommand("Update classes set idclass='" & cbokidclass.Text & "',Naime='" & txtname.Text & "',Day='" & cbokday.Text & "',Hours='" & cbokhour.Text & "',Teacher='" & cbokteacher.Text & "',Groupp='" & cbokgroup.Text & "',Subjects='" & cboksubject.Text & "',Classroom='" & cbokroom.Text & "'WHERE idclass='" & cbokidclass.Text & "'", cn)
        cn.Open()
        cmd.ExecuteNonQuery()
        cn.Close()
        mostrar()
        MsgBox("Done")
  #4 (permalink)  
Antiguo 30/09/2011, 15:41
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Error de sintaxis en la instrucción Update

El campo "Hours" y "day" tambien son palabras reservadas cambiales de nombre. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Última edición por Aquaventus; 30/09/2011 a las 15:46
  #5 (permalink)  
Antiguo 30/09/2011, 15:48
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 10 meses
Puntos: 33
Respuesta: Error de sintaxis en la instrucción Update

o utiliza corchetes
[Hours]
  #6 (permalink)  
Antiguo 30/09/2011, 15:50
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Error de sintaxis en la instrucción Update

o como dice HaverRamirez puedes usar los corchetes [TUCAMPO], para que interprete que son campos de tablas. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 07/10/2011, 14:26
 
Fecha de Ingreso: julio-2011
Ubicación: Medellín
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Error de sintaxis en la instrucción Update

Cita:
Iniciado por Aquaventus Ver Mensaje
o como dice HaverRamirez puedes usar los corchetes [TUCAMPO], para que interprete que son campos de tablas. Saludos!.
Muchas gracias por su ayuda previa. Me ha sido de gran utilidad.
Nuevamente tengo un inconveniente, ocurre cuando intento eliminar un registro en un formulario:

No se Controló OleDbException
Error de sintaxis(falta operador)en la expresión de consulta 'id class='M1D".

Código
Código:
   Private Sub btnkdel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkdel.Click
        Dim cmd As New OleDb.OleDbCommand("delete from classes where id class='" & cbokidclass.Text & "'", cn)
        cn.Open()
        cmd.ExecuteNonQuery()
        cn.Close()
        limpiar()
        Cargar()
        mostrar()
        MsgBox("Done")
Gracias de antemano.
  #8 (permalink)  
Antiguo 10/10/2011, 07:16
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Error de sintaxis en la instrucción Update

Tu problema esta en esta linea :
Código vb.net:
Ver original
  1. Dim cmd As New OleDb.OleDbCommand("delete from classes where id class='" & cbokidclass.Text & "'", cn)
en SQL un campo no puede estar conformado por 2 palabras "id class", asi que es mejor que en vez de espacio le coloques un guión abajo (_), cambiale el nombre al campo por "id_class". Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #9 (permalink)  
Antiguo 14/02/2012, 20:59
 
Fecha de Ingreso: febrero-2012
Ubicación: sibnaloa
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: Error de sintaxis en la instrucción Update

buenas noches amigos..... he buscado por cielo, mar y tierra una solución a este problema que tengo, he copiado TODO IGUAL y a mi me sale ese error, asunto que a la otra persona NO....me podrían ayudar por favor? Les dejo el código del botón modificar.

Sub MODIFICAR()
Dim CMD As New OleDb.OleDbCommand("UPDATE datos set nom='" & txt_nom.Text & "', correo='" & txt_correo.Text & "', where nom='" & txt_nom.Text & "'", CN)
CN.Open()
CMD.ExecuteNonQuery()
CN.Close()
Call MOSTRAR()
MsgBox("Registro actualizado")
End Sub

NOTA: lo stoy haciendo en VB2010 vinculando con access 2007. Los 2 campos son de tipo TEXTO. me marca error en CMD.ExecuteNonQuery() (error de sintaxis UPDATE).
  #10 (permalink)  
Antiguo 30/03/2012, 13:19
 
Fecha de Ingreso: abril-2011
Mensajes: 8
Antigüedad: 13 años
Puntos: 0
Respuesta: Error de sintaxis en la instrucción Update

Cita:
Iniciado por walo08 Ver Mensaje
buenas noches amigos..... he buscado por cielo, mar y tierra una solución a este problema que tengo, he copiado TODO IGUAL y a mi me sale ese error, asunto que a la otra persona NO....me podrían ayudar por favor? Les dejo el código del botón modificar.

Sub MODIFICAR()
Dim CMD As New OleDb.OleDbCommand("UPDATE datos set nom='" & txt_nom.Text & "', correo='" & txt_correo.Text & "', where nom='" & txt_nom.Text & "'", CN)
CN.Open()
CMD.ExecuteNonQuery()
CN.Close()
Call MOSTRAR()
MsgBox("Registro actualizado")
End Sub

NOTA: lo stoy haciendo en VB2010 vinculando con access 2007. Los 2 campos son de tipo TEXTO. me marca error en CMD.ExecuteNonQuery() (error de sintaxis UPDATE).
BUEN DÍA, TENGO EL MISMO PROBLEMA. ALGUNA SUGERENCIA?

walo08, ¿LO SOLUCIONASTE? SALUDOS!

Etiquetas: net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:19.