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

¿Por qué no se me rellenan las tablas?

Estas en el tema de ¿Por qué no se me rellenan las tablas? en el foro de ASP Clásico en Foros del Web. Estoy hecho todo un lio, porque no entiendo porque no se me rellenan las tablas de la base de datos. Relleno todo el formulario, le ...
  #1 (permalink)  
Antiguo 24/11/2005, 21:22
 
Fecha de Ingreso: noviembre-2005
Mensajes: 4
Antigüedad: 19 años, 5 meses
Puntos: 0
¿Por qué no se me rellenan las tablas?

Estoy hecho todo un lio, porque no entiendo porque no se me rellenan las tablas de la base de datos. Relleno todo el formulario, le doy a enviar, la pagina ASP me dice que todo ha sido enviado correctamente, pero cuando voy a comprobar la base de datos no se ha rellenado nada.

Este es el codigo de la ASP:

<%@language="Javascript"%>
<html>
<head>
<title>Solicitud de servicio</title>
<link rel="stylesheet" type="text/css" href="estilo.css" />
</head>

<body>

<%
//Costruccion de las cadenas SQL

var sql= "INSERT INTO ordenadores( cliente, Procesador, Velocidad, RAM) VALUES (";
sql+= ("'" +Session("DNI") +"'"+",");
sql+= ("'" +Request.Form("proc") +"'"+",");
sql+= ("'" +Request.Form("vel") +"'"+",");
sql+= ("'" +Request.Form("ram")+"'"+")");
var conexion;
var cadenaConexion = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" +Server.MapPath("bd/telebase.mdb");
try{
conexion= Server.CreateObject("ADODB.Connection");
conexion.open(cadenaConexion);
}
catch(e){
Response.Write ("<h2><font color=saddlebrown >Error:</font></h2>");
Response.Write ("<b>" + e.description + "</b>");
Response.End();
}
try{



conexion.BeginTrans();
conexion.Execute(sql);

}
catch(e){
Response.Write ("<h2 align=center ><font color=saddlebrown >Error:</font></h2>");
Response.Write ("<b><font color=saddlebrown >" +e.description+ "</font></b>");
Response.End();
}
Response.Write("<h3 align=center ><font color=saddlebrown >Los datos han llegado correctamente.</font></h2>");

Response.Write("<br/><br/><br/<br/>");
%>

A ver si alguien se da cuenta, por favor, que yo llevo dias mira que te mira el código y no doy con el fallo. Gracias de antemano.
  #2 (permalink)  
Antiguo 24/11/2005, 22:16
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Y cual es el error?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 25/11/2005, 03:14
 
Fecha de Ingreso: noviembre-2005
Mensajes: 4
Antigüedad: 19 años, 5 meses
Puntos: 0
Ese es precisamente el problema, que aparentemente no hay ningún error y todo esta bien. Pero a la hora de mirar la base de datos nada ha cambiado.
  #4 (permalink)  
Antiguo 25/11/2005, 04:30
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 5 meses
Puntos: 144
Supongo que es por esto:
Prueba a cambiar esta línea (y las 3 siguientes)
sql+ = ("'" +Session("DNI") +"'"+",");

para que quede así:
sql = sql + ("'" +Session("DNI") +"'"+",");
  #5 (permalink)  
Antiguo 25/11/2005, 08:50
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
3pies, él ha definido <%@language="Javascript"%>, entonces sql+ = ..., es una instrucción equivalente a sql = sql + ...

Yo creo que el problema es que ha definido una transacción:

conexion.BeginTrans();
conexion.Execute(sql);

pero nunca hace el commit, entonces pues nunca se termina la transacción.

Supongo debería ser:

Código:
conexion.BeginTrans();
conexion.Execute(sql);
if(conexion.Errors.Count > 0) 
    conexion.RollBackTrans()
else	
    conexion.CommitTrans()
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 17:42.