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

oldbexception en consulta insert

Estas en el tema de oldbexception en consulta insert en el foro de .NET en Foros del Web. Hola al intriducir este codigo: Dim cmd As New OleDb.OleDbCommand("Insert into classes values('" & cbokidclass.Text & "','" & txtname.Text & "','" & cbokday.Text & "','" ...
  #1 (permalink)  
Antiguo 09/11/2011, 08:11
 
Fecha de Ingreso: noviembre-2011
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 0
oldbexception en consulta insert

Hola
al intriducir este codigo:

Dim cmd As New OleDb.OleDbCommand("Insert into classes values('" & cbokidclass.Text & "','" & txtname.Text & "','" & cbokday.Text & "','" & cbokhour.Text & "','" & cbokteacher.Text & "','" & cbokgroup.Text & "','" & cboksubject.Text & "','" & cbokroom.Text & "')", cn)
cn.Open()
cmd.ExecuteNonQuery()
cn.Close()
mostrar()
MsgBox("Done")

me presenta un error en cmd.ExecuteNonQuery()
diciendome: Error de sintaxis (falta operador) en la expresión de consulta ''11b's')'.
como podria resolver este error?
  #2 (permalink)  
Antiguo 09/11/2011, 08:27
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: oldbexception en consulta insert

Hola seeweed, veo que una de tus cadenas que adjuntas a la query puede contener una " ' ". Verifica que los parametros que estas pasando no contengan eso, ya que estaría afectando tu query. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 09/11/2011, 10:15
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: oldbexception en consulta insert

Usa parámetros, así evitas errores de sintaxis, sql inyection y tu código será más fácil de leer :)

Código c#:
Ver original
  1. "Insert Into Classes(Columna1, Columna2, Columna3) Values(@Columna1, @Columna2, @Columna3)
  2.  
  3. //Para darle los valores a esos parámetros usas lo sgte:
  4.  
  5. cmd.Parameters.AddWithValue("@Columna1", cboksubject.Text)
  6. cmd.Parameters.AddWithValue("@Columna2", cbokroom.Text)
  7. cmd.Parameters.AddWithValue("@Columna3", cbokroom.Text)
  8.  
  9. cn.Open()
  10. cmd.ExecuteNonQuery()
  11. cn.Close()
__________________
Eduardo Peredo
Wigoin
  #4 (permalink)  
Antiguo 09/11/2011, 12:33
 
Fecha de Ingreso: noviembre-2011
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: oldbexception en consulta insert

Cita:
Iniciado por eperedo Ver Mensaje
Usa parámetros, así evitas errores de sintaxis, sql inyection y tu código será más fácil de leer :)

Código c#:
Ver original
  1. "Insert Into Classes(Columna1, Columna2, Columna3) Values(@Columna1, @Columna2, @Columna3)
  2.  
  3. //Para darle los valores a esos parámetros usas lo sgte:
  4.  
  5. cmd.Parameters.AddWithValue("@Columna1", cboksubject.Text)
  6. cmd.Parameters.AddWithValue("@Columna2", cbokroom.Text)
  7. cmd.Parameters.AddWithValue("@Columna3", cbokroom.Text)
  8.  
  9. cn.Open()
  10. cmd.ExecuteNonQuery()
  11. cn.Close()
Gracias por la ayuda, pero disculpa, tengo una duda:
¿Qué tengo que reemplazar por @Columna1 ,@Columna2 no entiendo muy bien que significa ese arroba
  #5 (permalink)  
Antiguo 09/11/2011, 13: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: oldbexception en consulta insert

Si verás en esta linea :
Código vb:
Ver original
  1. "Insert Into Classes(Columna1, Columna2, Columna3) Values(@Columna1, @Columna2, @Columna3)
es insertar valores pero con variables, a estas variables les setearás el contenido que és :
Código vb:
Ver original
  1. cmd.Parameters.AddWithValue("@Columna1", cboksubject.Text)
  2. cmd.Parameters.AddWithValue("@Columna2", cbokroom.Text)
  3. cmd.Parameters.AddWithValue("@Columna3", cbokroom2.Text)
si gusta cambiale de nombre a @columna1,@columna2... pero con el arroba(@) al inicio
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #6 (permalink)  
Antiguo 09/11/2011, 13:59
 
Fecha de Ingreso: noviembre-2011
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: oldbexception en consulta insert

gracias, aquaventus, te pregunto, con este método no tendré entonces el oledb.execption descrito anteriormente?
  #7 (permalink)  
Antiguo 09/11/2011, 14:01
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: oldbexception en consulta insert

Nop, .Net se encargará de generar el script sql y correrlo cuando llames a cmd.ExecuteNonQuery() :)
__________________
Eduardo Peredo
Wigoin
  #8 (permalink)  
Antiguo 09/11/2011, 14:03
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: oldbexception en consulta insert

Probalo y nos cuentas! , porque en la anterior tu definías la query y aquí la amolda.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: visual
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 04:51.