Foros del Web » Programando para Internet » ASP Clásico »

Update imagenes en access

Estas en el tema de Update imagenes en access en el foro de ASP Clásico en Foros del Web. Bueno vereis estoy haciendo una administracion de un catalogo de productos con ASP Y access y lo tengo todo terminado a falta de la actualizacion ...
  #1 (permalink)  
Antiguo 02/12/2004, 12:09
 
Fecha de Ingreso: octubre-2004
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Update imagenes en access

Bueno vereis estoy haciendo una administracion de un catalogo de productos con ASP Y access y lo tengo todo terminado a falta de la actualizacion de imagenes, vereis inserto las imagenes en Access con
Código:
rs("foto").AppendChunk fileData
uso un archivo Loader.asp para subir imagenes y hasta hay todo funciona a la perfeccion pero cuando intento actualizar un registro me lo actualiza todo menos la foto, este es el codigo
Código:
If fileSize > 0 Then
   Dim connStr
      connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
         Server.MapPath("bromur.mdb")
   ' Recordset Object
   Dim rs,sql
      Set rs = Server.CreateObject("ADODB.Recordset") 
      ' opening connection
	  sql ="UPDATE productos SET familia ="&famiInput&", codigo= "&codigoInput&",foto="&.AppendChunk fileData&" descripcion='"&descInput&"', altura="&alturaInput&", diametro="&_
	  diametroInput&", bombillas="&bombInput&", tipo='"& tipoInput&"', potencia="&_
	  potenciaInput&" WHERE id_product = " & IDInput &""
      rs.Open sql, connStr
	  'rs.update
	  'connStr.Close
      
      Response.Write "<center>el archivo se ha actualizado con exito</center>"
      End If
      set rs=Nothing
      set connStr = Nothing
cuando pongo este codigo me dice
Cita:
Se esperaba un final de instrucción
esto con
Código:
foto="&.AppendChunk fileData&"
y si le quito el .AppendChunk me dice
Cita:
No se han especificado valores para algunos de los parámetros requeridos.
Alguien sabe como puedo solucionar esto o algun ejlemplo o tutorial de update de imagenes Gracias
  #2 (permalink)  
Antiguo 02/12/2004, 20:57
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 21 años, 4 meses
Puntos: 0
yo creo que el método que usas no es el mas efectivo, me refiero a intentar pasar el valor de una función propia de ASP a una sentencia SQL que en realidad es sólo texto, yo me inclinaría a seguir trabajando como lo habias hecho al insertar la imagen, osea trabajando directo con el RecordSet, pero abriendolo en modo de actualización

rs("foto").AppendChunk fileData

saludos
  #3 (permalink)  
Antiguo 03/12/2004, 06:37
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 3 meses
Puntos: 6
AppendChunk filedata es texto, creo que te falta la comilla simple --> '
  #4 (permalink)  
Antiguo 03/12/2004, 06:39
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 21 años, 4 meses
Puntos: 0
si lo que dice pempas es cierto cosa que yo no estoy seguro pq no he utilizado jamas esa función, faltarian las comillas simples y una coma para separar foto de descripción

&",foto="&.AppendChunk fileData&" descripcion='"&de

&" , foto= '" & AppendChunk fileData & "' , descripcion='"&de
  #5 (permalink)  
Antiguo 03/12/2004, 06:42
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 3 meses
Puntos: 6
exactamente HiTek, creo que sería así!
  #6 (permalink)  
Antiguo 04/12/2004, 09:37
 
Fecha de Ingreso: octubre-2004
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Nada no es por lo de las comillas simples ya lo he probado, pero me podeis decir como lo haceis para actualizar una imagen de una db???y como lo podria hacer con RecordSet como dice HiTek me podriais poner un ej ???Gracias y otra cosa sabeis de alguna paginacion que funcione con un filtro where en la select???
  #7 (permalink)  
Antiguo 04/12/2004, 10:09
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 21 años, 4 meses
Puntos: 0
Holas Javihb, prueba este código que debiera funcionar...saludos

Código:
'Hacemso una selección del registro que se quiere editar
sql = "SELECT * FROM productos WHERE id_product = " & IDInput

'se abre el recorset con la sql
rs.Open sql, connStr

'se sobreescribe el campo foto
rs("foto").AppendChunk fileData

'se actualiza el recordset
rs.Update

'y se cierra el objeto
rs.Close
si quiere modificar otros campos debes hacerlo de la misma forma que el campo foto

rs("campo") = valorX




NOTA, la sentencia SQL que suponiamos era la correcta al agregar las comillas en realidad no hace NADA, ¿pq?, pq AppendChunk es una función interna del objeto recordset que NO se puede accesar en forma libre

Última edición por HiTek; 04/12/2004 a las 10:17
  #8 (permalink)  
Antiguo 05/12/2004, 13:16
 
Fecha de Ingreso: octubre-2004
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias HiTek en el otro mensaje me lo decias y te pedi que si podias explicarmelo y ...lo has hecho pero ya le habia estado dando vueltas yo y lo consegui de la forma que dices ...pues nada ...muchisimas gracias oye tu sabes si se puede hacer una paginacion de resultados pero que la sentencia Select * FROM tutabla ademas lleve un WHERE id_loquesea =& mivar & , porque mira que encuentro paginaciones pero todas sin un where en la select y yo lo intento con un where y me salen los primeros registros pero cuando le doy al avance de pagina me da el error de que no encuentra la condicion que le paso y se debe a que la variable se la paso mediante un form de otra pagina pero como la paginacion se llama a si misma la variable ha sido destruida ......me creo que es eso entonces...como puedo hacer que una variable recogida de un form se quede con el valor pasado constantemente???
  #9 (permalink)  
Antiguo 06/12/2004, 08:53
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 21 años, 4 meses
Puntos: 0
claro, una vez que hayas pasado la variable desde el form por el método post debes asignar ese valor a otra variable...osea

desde el form...
la variable se llama por ejemplo prod_id
el form te enviará a "paginación.asp"
en paginación.asp la recoges en
Código:
if(request.form("prod_id") <> "" )then
    prod_id = request.form("prod_id")
else
    prod_id = request.querystring("prod_id")
end if
luego la sentencia SQL debe llevar en el where
SELECT........WHERE id = " & prod_id
y luego en el link que te envia a la pagina siguiente
Código:
"paginación.asp?pagina=2&prod_id=" & prod_id
asi tendrás la variable viva durante la ejecución del script...saludos
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 09:29.