
03/07/2008, 11:00
|
| | Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 17 años, 4 meses Puntos: 0 | |
Que es una Page-Load Hola haber cuento mi problema, tengo una tabla de base de datos con los datos de la gente registrada, y tengo un enlace para poder modificar esos datos, la cuestion es que aparecen los datos de la tabla y ahi los puedes cambiar, cuando pulso modificar, supuestamente se deberia de hacer los cambios en la base de datos, pero no ocurre asi, despues de leer mucho sobre este problema, me he dado cuenta que es por que los datos extraidos de la base de datos son los que se quedan guardados en la page-load(que no se como se sabe eso ni que es, perdonad mi ignorancia) y supuestamente la solucion seria cargar los nnuevos datos en la page-load, pero como no se que es, ni como se hace pues estoy aki con esa duda y sin poder modificar datos. Os pongo el codigo que tengo para modificar esto y ver si podemos sacar algo en claro:
<%var cadenaConexion = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" +Server.MapPath("basedatos/bd.mdb");
var sql,result= Server.CreateObject("ADODB.Recordset");
try{
conexion= Server.CreateObject("ADODB.Connection");
conexion.open(cadenaConexion);
}
catch(e){//tratamiento de posible errores
Response.Write ("<h2>Error1:</h2>");
Response.Write ("<b>" + e.description + "</b>");
Response.End();
}
try{
var nick = Session("nick");
sql="SELECT * FROM registro WHERE nick= '"+nick+"'";
conexion.BeginTrans();
result.Open(sql, conexion);
if(result.eof)
{
//los datos no fueron encontrados en la BD, no debe de ocurrir nunca
Response.Write("Error al encontrar sus datos, por favor, intentelo de nuevo")
Response.Write("<h4 align=center ><button onclick='history.back()'>Volver</button></h4>");
Response.End();
}
else
{
var nombre=result("nombre");
var apellidos=result("apellidos");
var telefono=result("telefono");
var email=result("email");
var contrasenia = result("contrasenia");
var mascota = result("mascota");
var especie = result("especie");
}
}
catch(e){//posible fallo en la BD
Response.Write ("<h2 align=center >Error2:</h2>");
Response.Write ("<b>" +e.description+ "</b>");
Response.Write("<h4 align=center ><button onclick='history.back()'>Volver</button></h4>");
Response.End();
}
%>
con ese codigo cojo los datos y los nuestro mediante input, y luego vinculo a la pagina de modificar
//lo primero que hago es declarar variables para poder
//asignarles los datos que le corresponden
var nick = Session ("nick");
var errores = new Array ();
var res = true;
var nick = Request.Form("nick").Item;
var contrasenia = Request.Form("contrasenia").Item;
var nombre = Request.Form("nombre").Item;
var apellidos = Request.Form("apellidos").Item;
var email = Request.Form("email").Item;
var telefono = Request.Form("telefono").Item;
var mensaje;
//empiezo con el chequeo del formulario
if (contrasenia == "")
{
errores.push("El campo contraseña no puede estar vacio");
res = false;
}
if (nombre == ""){
errores.push("El campo nombre no puede estar vacio");
res = false;
}
if (apellidos == ""){
errores.push ("El campo apellidos no puede estar vacio");
res = false;
}
if(email == ""){
errores.push("El campo email no puede estar vacio");
res = false;
}
if(compruebaemail(email)==false & res){
errores.push("Debe introducir un email correcto");
res = false;
}
if(telefono == ""){
errores.push("El campo telefono no puede estar vacio");
res = false;
}
if(compruebatelefono(telefono)==false & res){
errores.push("Debe de introducir un telefono correcto");
res = false;
}
//aqui acaba el chequeo de los datos
if (errores.length>0) ///compruebo si hay algun error
{
res = false;
mensaje="SE HAN DETECTADO VARIOS ERRORES:</br>";
var i;
for (i=0; i<errores.length; i++)
{
mensaje += (i+1);
mensaje += ".- ";
mensaje += errores[i];
mensaje += "</br>";
}
}
if (res == true)
{
try{
var conexion= Server.CreateObject ("ADODB.Connection");
conexion.Open ("Provider=Microsoft.Jet.OLEDB.4.0;"+" Data Source = "+Server.MapPath ("basedatos/bd.mdb"));
}
catch (e){
Response.Write ("Error1:");
Response.Write ("<b>" + e.description + "</b>");
Response.End();
}
try{
<!-- instruccion sql para actualizar los datos del socio-->
var sql= "UPDATE registro SET contrasenia='"+contrasenia+"', nombre='"+nombre+"', apellidos='"+apellidos+"', email='"+email+"', telefono='"+telefono+"' WHERE nick='"+nick+"'";
conexion.BeginTrans();
conexion.Execute(sql);
conexion.CommitTrans();
%>
<br/>
<br/>
<center>
<h4 style="color:black">Sus datos se han modificado de forma correcta</h4>
</center>
<br/>
<%
conexion.Close();
}
catch (e)
{
Response.Write (" error 2 :");
Response.Write ("<b>" +e.description+ "</b>");
Response.Write( "<button onclick ='history.back()'>Volver</button>");
Response.End();
}
}
else {
Response.Write (mensaje);
}
%>
es un poco lio pero deberia de salir. Espero vuestra ayuda. Gracias |