Problemas con el update
Publicado por Marta F. (1 intervención) el 25/08/2005 12:14:31
Hola, este verano empecé a trabajar con el VB y aún estoy poco habituada en este entorno,tengo el siguiente problema:
Utilizo una base de datos MySql con Visual Basic 6:
Tengo una tabla:
Tabla1{ id -> entero , llave primaria
campo1 -> varchar de 10 posiciones }
Dentro tengo el registro: {0,'Marta'}
cuando quiero updatar 'Marta' --> por otra palabra de diferente tamaño, por ejemplo 'MartaF' me da un error de desbordamiento. En cambio si la palabra fuese del mismo tamaño, por ejemplo "Martx" no tengo ningún problema en updatar.
El código es el siguiente:
s = "select * from Tabla1 where id=0"
Set reg = New ADODB.Recordset
reg.CursorLocation = adUseClient
reg.Open s, cn, adOpenKeyset, adLockOptimistic
reg!campo1 = 'Marta1'
reg.Update
reg.Close
====> ERROR!!!
Lo he probado también con la siguiente sentencia:
s = "update Tabla1 set campo1='Marta1111' where id=0"
cn.Execute s
...de esta manera me funciona bien y puedo modificar el campo tantas veces como quiera.
Me interesaría poderlo hacer de la primera manera, ya que en el momento que la tabla contenga muchos campos, el update a través de linia de código se puede hacer insufrible.
Por si sirve de ayuda: en las DSN de Sistema de la conexión de MySQL tengo activado el checkbox : "Return Matching Rows" "Change BIGINT..." y "Pad Char To Full..."
Gracias y os agradezco la ayuda anticipadamente.
Utilizo una base de datos MySql con Visual Basic 6:
Tengo una tabla:
Tabla1{ id -> entero , llave primaria
campo1 -> varchar de 10 posiciones }
Dentro tengo el registro: {0,'Marta'}
cuando quiero updatar 'Marta' --> por otra palabra de diferente tamaño, por ejemplo 'MartaF' me da un error de desbordamiento. En cambio si la palabra fuese del mismo tamaño, por ejemplo "Martx" no tengo ningún problema en updatar.
El código es el siguiente:
s = "select * from Tabla1 where id=0"
Set reg = New ADODB.Recordset
reg.CursorLocation = adUseClient
reg.Open s, cn, adOpenKeyset, adLockOptimistic
reg!campo1 = 'Marta1'
reg.Update
reg.Close
====> ERROR!!!
Lo he probado también con la siguiente sentencia:
s = "update Tabla1 set campo1='Marta1111' where id=0"
cn.Execute s
...de esta manera me funciona bien y puedo modificar el campo tantas veces como quiera.
Me interesaría poderlo hacer de la primera manera, ya que en el momento que la tabla contenga muchos campos, el update a través de linia de código se puede hacer insufrible.
Por si sirve de ayuda: en las DSN de Sistema de la conexión de MySQL tengo activado el checkbox : "Return Matching Rows" "Change BIGINT..." y "Pad Char To Full..."
Gracias y os agradezco la ayuda anticipadamente.
Valora esta pregunta


0