form_editar.asp
Código:
editar.asp<% @Language="VBscript" %> <html> <head> <title>Modificar registros de la base de datos</title> </head> <body> <% 'Declaración de variables Dim conn Dim rs Dim sql 'Fijación del valor de Path (lugar donde esta la base de datos) Const Path = "usuarios.mdb" 'Establecemos la conección a la base de datos Set conn = Server.CreateObject("ADODB.Connection") conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & Path & "")) 'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar) sql="Select * From clientes" 'Ejecución de la orden Set rs = Conn.Execute(sql) %> <form method="post" action="editar.asp?id=<% = rs("id") %>" target="_blank"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="20%">ID</td> <td width="20%">NOMBRE</td> <td width="20%">APELLIDO</td> <td width="20%">TELEFONO</td> <td width="20%">CIUDAD</td> </tr> <% Do While Not rs.Eof %> <tr> <td width="20%"><input type="radio" name="id" value="<% = rs("id") %>"></td> <td width="20%"><% = rs("nombre") %></td> <td width="20%"><% = rs("apellido") %></td> <td width="20%"><% = rs("telefono") %></td> <td width="20%"><% = rs("ciudad") %></td> </tr> <% rs.MoveNext Loop %> </table> <input type=submit> </form> </body> </html>
Código:
editar1.asp<title>Modificar registros de la base de datos</title> </head> <body> <% 'Declaración de variables Dim conn Dim rs Dim sql 'Fijación del valor de Path (lugar donde esta la base de datos) Const Path = "usuarios.mdb" 'Recuperando el valor de id pasado por la URL id = Request.Querystring("id") 'Establecemos la conección a la base de datos Set conn = Server.CreateObject("ADODB.Connection") conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & Path & "")) 'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar) sql="Select * From clientes Where id = " & id &"" 'Ejecución de la orden Set rs = Conn.Execute(sql) 'Asignando valores de campos nombre = rs("nombre") apellido = rs("apellido") telefono = rs("telefono") ciudad = rs("ciudad") %> <form method="post" action="editar1.asp?id=<% = id %>"> <table border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td width="8%">id:</td> <td width="92%"><% = id %></td> </tr> <tr> <td width="8%">Nombre:</td> <td width="92%"><input type="text" name="nombre" size="20" value="<% = nombre %>"></td> </tr> <tr> <td width="8%">Apellido:</td> <td width="92%"><input type="text" name="apellido" size="20" value="<% = apellido %>"></td> </tr> <tr> <td width="8%">Telefono:</td> <td width="92%"><input type="text" name="telefono" size="20" value="<% = telefono %>"></td> </tr> <tr> <td width="8%">Ciudad:</td> <td width="92%"><input type="text" name="ciudad" size="20" value="<% = ciudad %>"></td> </tr> </table> <p align="center"><input type="submit" value="Enviar"><input type="reset" value="Restablecer"></p> </form> </body> </html>
Código:
Bueno el problema es que cuando selecciono un elemento de la lista que no sea el primero en editar.asp me aparece siempre el formulario con los valores del primer registro y no se porque no me pillo mi error... si alguien me pudiera corregir... le agradeceria.... gracias de antemano y saludos <script> window.opener.location.reload(); window.close(); </script> <% 'Declaración de variables Dim conn Dim rs Dim sql 'Fijación del valor de Path (lugar donde esta la base de datos) Const Path = "usuarios.mdb" 'Recuperando el valor de id pasado por la URL id = Request.Querystring("id") 'Recuperando valores del formulario nombre = Request.Form("nombre") apellido = Request.Form("apellido") telefono = Request.Form("telefono") ciudad = Request.Form("ciudad") 'Establecemos la conección a la base de datos Set conn = Server.CreateObject("ADODB.Connection") conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & Path & "")) 'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar) sql="Update clientes set nombre = '" & nombre & "', apellido = '" & apellido & "', telefono = " & telefono & ", ciudad = '" & ciudad & "' Where id = " & id & "" 'Ejecución de la orden Set rs = Conn.Execute(sql) %>