Visual Basic - Problemas con el update

Life is soft - evento anual de software empresarial
 
Vista:

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.



Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con el update

Publicado por abelmv (2 intervenciones) el 29/08/2005 10:54:08
A los flags de las DSN's tienes que tener activado el campo:
"Don't optimize column width" + "Return Matching Rows" + "Change Bigint columns"

El "Pad Char To Full" puedes desactivarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con el update

Publicado por Manuel (87 intervenciones) el 29/08/2005 21:09:01
Marta tu problema esta al momento de definir tu cursor, prueba con este codigo

Set rs= New ADODB.Recordset
Set rs.ActiveConnection = cnAccess
sql = "SELECT * FROM ARCHIVO"
On Error GoTo rsError_Handler
With rs
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockBatchOptimistic
On Error GoTo rsError_Handler
DoEvents
.Open sql, cnAccess
End With

With rs
.AddNew
.Fields(0).Value = "Valor del Campo"
.Fields(1).Value = 0
.Fields(2).Value = Space(1)
On Error GoTo rsError_Handler
.UpdateBatch
If Err <> 0 Then
'....
End If
DoEvents
'...........
End With

Saludos Manuel Colca Lima - Perú
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar