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

Ayuda con la sentencia Update de mi pagina ayuda pliis

Estas en el tema de Ayuda con la sentencia Update de mi pagina ayuda pliis en el foro de ASP Clásico en Foros del Web. hola tengo el siguiente codigo: 1 pagina <HTML> <HEAD> <TITLE>Actualizar1.asp</TITLE> </HEAD> <BODY> <div align="center"> <h1>Actualizar un registro</h1> <br> <% Set Db = CreateObject("ADODB.Connection") Set Rs ...
  #1 (permalink)  
Antiguo 02/05/2010, 22:39
 
Fecha de Ingreso: febrero-2010
Mensajes: 31
Antigüedad: 14 años, 2 meses
Puntos: 0
Ayuda con la sentencia Update de mi pagina ayuda pliis

hola tengo el siguiente codigo:
1 pagina
<HTML>
<HEAD>
<TITLE>Actualizar1.asp</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Actualizar un registro</h1>
<br>
<%
Set Db = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.RecordSet")
Db.Open "DSN=Agenda"
%>
<FORM METHOD="POST" ACTION="actualizar2.asp">
Nombre<br>

<select id="nombre">
<%
if Rs.state then Rs.close
SqlSrt="Select * From Contactos Where Nombre Order By nombre"
Rs.open SqlSrt, db
Do while Not Rs.EOF
Response.write "<option>"& Rs("Nombre")&"</option>"& vbNewLine
Rs.MoveNext
loop
%>
</select>
<br>
Teléfono<br>
<input id='telefono' type="text"><br>
<input type="button" value="Enviar" onclick="enviadata()">
</FORM>
</div>
</BODY>
</HTML>
<script>
function enviadata(){

var nombre=document.getElementById('nombre').value;
var telefono=document.getElementById('telefono').value ;
var Ruta='actualizar2.asp?nombre='+nombre+'&telefono=' +telefono;
document.location=Ruta;
}
</script>
2 pagina
<%
set db = CreateObject("ADODB.Connection")
set Rs = CreateObject("ADODB.Recordset")
db.open "DSN=Agenda"
SqlStr="Update Contactos(Nombre,TelefonoOfi) values('" & Request("nombre") & "','" & Request("telefono") &"')"

if rs.state then rs.close
Response.write SqlStr
Rs.open SqlStr,db
Response.redirect "Actualizar.asp"
%>
y me marca en la segunda pagina error en la sentencia update y no entiendo por que no se si me podrian ayudar cual es mi error o como es la setencia update espero su ayuda
  #2 (permalink)  
Antiguo 03/05/2010, 05:17
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Ayuda con la sentencia Update de mi pagina ayuda pliis

Hola

Tendría que ser así

Código ASP:
Ver original
  1. sql="update tabla SET campo = 1 , campo = 2"

pero tendrás que decirle que registro ha de actualizarse, para ello usa WHERE

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 03/05/2010, 10:22
 
Fecha de Ingreso: abril-2003
Ubicación: La Plata
Mensajes: 14
Antigüedad: 21 años
Puntos: 0
Respuesta: Ayuda con la sentencia Update de mi pagina ayuda pliis

Hola, intentare ver si puedo ayudarte.

En la tabla de Contactos tienes que tener un campo clave que identifica a cada registro, supongamos que lo llamaste Id. Lo común es que sea un campo numérico autoincremental.

Modifica la línea 17 la siguiente manera:
<select name="ContactoId" id="nombre">

y la línea 23 de manera que el combo envie el identificador del contacto que deseas actualizar
Response.write "<option value="" & Rs("Id") & "">"& Rs("Nombre") &"</option>"& vbNewLine

Con estos dos cambios lo que estas haciendo es darle un nombre al combo para poder recuperar el valor seleccionado del lado del servidor y por otro lado cargando el identificador de cada contacto.

Finalmente deberias modificar la linea 50 de la siguiente manera
SqlStr="Update Contactos set Nombre = '" & Request("nombre") & "' , TelefonoOfi = '" & Request("nombre") & "' where Id = " & Request("ContactoId ")

Como te explicaba Adler el update sigue la siguiente estructura:
update tabla SET campo = 1 , campo = 2" where identificadorDelRegistroQueDeseasModificar = unId

Coméntanos si funciono

Saludos

A.

Etiquetas: sentencia, update
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 18:31.