Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Campos binarios en VB

Estas en el tema de Campos binarios en VB en el foro de Visual Basic clásico en Foros del Web. Hola a todos, soy nuevo en esto y no se muy bien como funciona. Espero explicarme lo mejor posible. Mi problema es el siguiente: El ...
  #1 (permalink)  
Antiguo 22/09/2008, 10:51
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Campos binarios en VB

Hola a todos, soy nuevo en esto y no se muy bien como funciona. Espero explicarme lo mejor posible.

Mi problema es el siguiente:
El programa de VB hace servir una base de datos (Access) que contiene un campo binario donde se guardan archivos .PDF. Para leer y escribir este campo binario uso el objeto Stream de ADO. El caso es que primero se llenan todos los campos del registro (c1,c2,c3...etc) menos el campo binario que se llena a posteriori cuando se crea el documento que ha de almacenar. Cuando se rellena el campo binario, a la hora de hacer Update del recordset, me da el siguiente error: "Información de columna clave insuficiente o incorrecta; demasiadas filas afectadas por la actualización" y el programa termina.
Si hago un nuevo projecto con esa sola rutina, la de llenar el campo binario, me funciona perfectamente y no me da error...No se como solucionar el problema.
Si alguien me pudiera dar la solución se lo agradeceria

Saludos a todos y muchas gracias de antemano
  #2 (permalink)  
Antiguo 22/09/2008, 20:23
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Respuesta: Campos binarios en VB

seria interesante ver el codigo que utilizas para actualizar el registro.....
  #3 (permalink)  
Antiguo 22/09/2008, 22:28
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Campos binarios en VB

Cita:
Iniciado por Kruzado Ver Mensaje
seria interesante ver el codigo que utilizas para actualizar el registro.....
El codigo que utilizo es :

Dim str As ADODB.Stream

Set str = New ADODB.Stream
str.Type = adTypeBinary
str.Open

CommonDialog1.ShowOpen

Text1 = CommonDialog1.FileName

Adodc1.Recordset.Bookmark = DataCombo1.SelectedItem

str.LoadFromFile CommonDialog1.FileName

Adodc1.Recordset.Fields("CampoDocumento").Value = str.Read
Adodc1.Recordset.Update

str.Close
Set str = Nothing
  #4 (permalink)  
Antiguo 24/09/2008, 14:46
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Respuesta: Campos binarios en VB

sorry por la demora

con Adodc1.Recordset.Bookmark = DataCombo1.SelectedItem colocas el puntero en el regstro que quieres modificar, solo eso, ademas tienes que dar un edit para poder modificar el registro

Adodc1.Recordset.edit
modificas
Adodc1.Recordset.Update
  #5 (permalink)  
Antiguo 25/09/2008, 11:09
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Campos binarios en VB

Cita:
Iniciado por Kruzado Ver Mensaje
sorry por la demora

con Adodc1.Recordset.Bookmark = DataCombo1.SelectedItem colocas el puntero en el regstro que quieres modificar, solo eso, ademas tienes que dar un edit para poder modificar el registro

Adodc1.Recordset.edit
modificas
Adodc1.Recordset.Update

Gracias cruzado, no era ese el error pero me has ayudado poruqe he repasado el codigo y el error venia dado por el datacombo ( datacomobo.datafiled= "campo" y eso generaba el error porque me actualizaba tambien ese campo).

Repito, gracias por el interés y ayudarme a resolver el problema.
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 00:20.