• Viernes 8 de Noviembre de 2024, 19:37

Autor Tema:  Problema con sentencia UPDATE, en VB 6.0  (Leído 6694 veces)

Zavash

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Problema con sentencia UPDATE, en VB 6.0
« en: Lunes 2 de Febrero de 2009, 04:13 »
0
estoy practicando con un programa que conecte una base de datos access pero la sentencia UPDATE arroja un error el codigo va asi :

Código: Text
  1. CÓDIGO
  2. Dim cn As Connection
  3. Dim rs As Recordset
  4.  
  5. Private Sub Form_Load()
  6.  
  7. Set cn = New ADODB.Connection
  8. cn.CursorLocation = adUseClient
  9. cn.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51; Data Source =C:Archivos de programaMicrosoft Visual StudioVB98Ensayodatos.mdb;"
  10.  
  11. End Sub
  12. Private Sub Command2_Click()
  13. If Text1.Text = "" Then
  14. MsgBox " no se puede eliminar un valor que no existe"
  15. Else
  16.  
  17. Sql = "delete from producto where Codigo= '" & Text1 & "'"
  18. Set rs = MiConexion.Execute(Sql)
  19. MsgBox "dato eliminado"
  20. Text1.Text = ""
  21. Text1.SetFocus
  22. End If
  23.  
  24. End Sub
  25.  
  26.  
  27.  
  28. Private Sub Command6_Click()
  29. Sql = "select * from producto where Codigo= '" & Text1.Text & "'"
  30. Set rs = cn.Execute(Sql)
  31.  
  32.     Text1.DataField = "Codigo"
  33.     Set Text1.DataSource = rs
  34.     Text2.DataField = "Nombre"
  35.     Set Text2.DataSource = rs
  36.     Text3.DataField = "Direccion"
  37.     Set Text3.DataSource = rs
  38.     Text4.DataField = "Telefono"
  39.     Set Text4.DataSource = rs
  40.  
  41. End Sub
  42.  
  43. Private Sub Command1_Click()
  44.  
  45. If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Then
  46. MsgBox "faltan datos, completelos"
  47. Else
  48.  
  49. Sql = "insert into producto values ( '" & Text1.Text & "', '" & Text2.Text & "', '" & Text3.Text & "', '" & Text4.Text & "' )"
  50. Set rs = cn.Execute(Sql)
  51. MsgBox "datos grabados"
  52.    
  53.   Text1.Text = ""
  54.   Text2.Text = ""
  55.   Text3.Text = ""
  56.   Text4.Text = ""
  57.   Text1.SetFocus
  58.  
  59. End If
  60.    
  61. End Sub
  62.  
  63.  
  64. Private Sub Command7_Click()
  65. sql = "UPDATE Producto SET Nombre = '" & Text2.Text & "', Direccion = '" & Text3.Text & "',Telefono ='" & Text4.Text & "' WHERE codigo= " & Text1.Text & ""
  66.     Set rs = cn.Execute(sql)
  67.    
  68. MsgBox " datos Actualizados"
  69.  
  70. End Sub
  71. Private Sub Command3_Click()
  72. Text1.Text = ""
  73. Text2.Text = ""
  74. Text3.Text = ""
  75. Text4.Text = ""
  76.  
  77. End Sub
  78.  
Necesito resolver el error que hay en la sentencia UPDATE , por que me aparece el siguiente error al tratar de editar un dato: "No coinciden los tipos de datos en la expresion de criterios " es un problema de sintaxis o de puntuacion?, me gustaria saber, se que esto es bien basico asi que estan demas esos comentarios de "esto es muy basico , deberias saberlo" , lo digo por que otras personas me dicen eso y al final no ayudan para nada... con esa duda resuelta podre postular mejor a un trabajo, de antemano, gracias.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Problema con sentencia UPDATE, en VB 6.0
« Respuesta #1 en: Lunes 2 de Febrero de 2009, 07:59 »
0
Hola, a mi parecer el mensaje de error te lo da el servidor SQL y no VB. Creo que tienes problemas con los tipos de datos que asignas a las variables SQL, es decir, asignas un tipo de dato incorrecto a Nombre, Direccion o Telefono.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Problema con sentencia UPDATE, en VB 6.0
« Respuesta #2 en: Lunes 2 de Febrero de 2009, 12:29 »
0
Segun las demas operaciones con los registros, el campo codigo es de tipo cadena

Por ejemplo en Command6_Click, se muestra lo siguiente
Citar
Sql = "select * from producto where Codigo= '" & Text1.Text & "'"

en el cual se le contatenan ( ' ) y no mencionas esi estos procedimientos dan error, pero precisamente en el update, no se esta concatenando los apostrofes , lo que implicaria (a simple vista) el error mencionado, y como bien lo menciona m0skit0,es un error propio de la bd.

Citar
sql = "UPDATE Producto SET Nombre = '" & Text2.Text & "', Direccion = '" & Text3.Text & "',Telefono ='" & Text4.Text & "' WHERE codigo= " & Text1.Text & ""


Saludos

..... Movido a Access .....
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

Zavash

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problema con sentencia UPDATE, en VB 6.0
« Respuesta #3 en: Lunes 2 de Febrero de 2009, 17:37 »
0
Sii!! funciono , faltaba concatenar.
Gracias  :beer:  :lol: