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

Problema con Update

Estas en el tema de Problema con Update en el foro de ASP Clásico en Foros del Web. Hola, supongo que lo que voy a preguntar es una tontera pero en este monento estoy totalmente bloqueado y no me sale el actualizar un ...
  #1 (permalink)  
Antiguo 10/08/2003, 13:59
Avatar de Rriveros  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 214
Antigüedad: 21 años, 7 meses
Puntos: 0
Problema con Update

Hola, supongo que lo que voy a preguntar es una tontera pero en este monento estoy totalmente bloqueado y no me sale el actualizar un registro de la BD a continuación les muestro el codigo:

Muestro el Listado:
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR><td bgcolor=#cccccc>FECHA<TD bgcolor=#cccccc>NUMERO LLAMADO </TD><TD bgcolor=#cccccc>HORA </TD><TD bgcolor=#cccccc> ANEXO </TD><TD bgcolor=#cccccc> LLAMADO SOLICITADO POR </TD><TD bgcolor=#cccccc> OBSERVACIONES </TD><TD bgcolor=#cccccc> DURACION </TD><TD bgcolor=#cccccc> COSTO </TD><TD bgcolor=#cccccc> OTROS </TD><TD bgcolor="#0066FF"><font color="#FFFFFF">Agregar costo</font></TD><TD bgcolor="#FF0000"><font color="#FFFFFF">Borrar</font></TD></TR>
<%


while (not objRS.Eof)
Response.Write("<tr><td>&nbsp;" & objRS("Fecha")& "&nbsp;</td><td>&nbsp;" & objRS("Nro_llamado") & "</td><td>&nbsp;" & objRS("Hora") & "&nbsp;</td><td>&nbsp;" & objRS("Anexo") & "&nbsp;</td><td>&nbsp;" & objRS("Llamador") & "&nbsp;</td><td>&nbsp;" & objRS("Observaciones") & "&nbsp;</td><td>&nbsp;" & objRS("Duracion") & "&nbsp;</td><td>&nbsp;" & objRS("Costo") & "&nbsp;</td><td>&nbsp;" & objRS("Otros") & "&nbsp;</td><td><a href=""agrtarifa.asp?Costo=" & objRS("Costo") & """>Agregar</a></td><td><a href=""borra_llamados.asp?id=" & objRS("id") & """>Borrar</a></td></tr>")
objRS.MoveNext
wend

oConn.Close
set objRS = nothing
set oConn = nothing

%>

ingreso el nuevo valor:

<Form method="POST" action="update_llamados.asp?Valor=Costo">
<td> <input type="text" name="Valor" size="5"></td>
<INPUT TYPE="submit" VALUE="Grabar">
</FORM>

Hago el Update al registro de la BD:

<%
Dim oConn,strSQL,rst

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Tarifario.mdb"))

strSQL = "Select from Ingreso_llamados where Costo = '" & Request.QueryString("Costo") &"'"
Valor=Request.Form("Costo")
strSQL("Costo") = Costo
oConn.Execute(strSQL)
oConn.Close
set oConn = nothing

Response.Redirect("listado_llamados.asp")
%>
__________________
www.nelhost.net
  #2 (permalink)  
Antiguo 10/08/2003, 21:03
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Riveros, podrías decirnos qué error te da?
Gracias
__________________
...___...
  #3 (permalink)  
Antiguo 11/08/2003, 08:38
Avatar de Rriveros  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 214
Antigüedad: 21 años, 7 meses
Puntos: 0
no coinciden los tipos
__________________
www.nelhost.net
  #4 (permalink)  
Antiguo 11/08/2003, 09:23
Avatar de AlexNV  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 289
Antigüedad: 21 años
Puntos: 1
Prueba a poner un *

Select * from Ingreso_llamados where Costo = '" & Request.QueryString("Costo") &"'"
  #5 (permalink)  
Antiguo 11/08/2003, 09:46
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
emmm... tenés un despelote atómico, me parece. No entendí nada de nada en el último trozo de código (donde decís que hacés el update de la BD).
Aparentemente querés actualizar el costo de un registro, obtenido de un form, cuyo costo actual pasas por URL...
Si es eso, me parece que deberías hacerlo así (siempre que el campo costo sea numérico... sinó, le agregás los apóstrofes correspondientes):



<%
Dim oConn,strSQL

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Tarifario.mdb"))

CostoActual = Request.QueryString("Costo")
CostoNuevo = Request.Form("Costo")

strSQL = "UPDATE Ingreso_llamados SET Costo = " & CostoNuevo & " where Costo = " & CostoActual
oConn.Execute(strSQL)
oConn.Close
set oConn = nothing

Response.Redirect("listado_llamados.asp")
%>
__________________
...___...
  #6 (permalink)  
Antiguo 11/08/2003, 19:50
Avatar de Rriveros  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 214
Antigüedad: 21 años, 7 meses
Puntos: 0
Dazuaga gracias por tu ayuda pero aún no resulta me da este error:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

/colegio/update_llamados.asp, line 12
__________________
www.nelhost.net
  #7 (permalink)  
Antiguo 13/08/2003, 02:25
Avatar de AlexNV  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 289
Antigüedad: 21 años
Puntos: 1
Yo creo que en estos casos es hacer un response.write strSQL, ver como ha compuesto la sentencia, copiarla y pegarla en el analizador de consultas de access y ver si se ejecuta, o que error te da.
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 20:46.