Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/07/2003, 00:48
El_Melon
 
Fecha de Ingreso: julio-2003
Mensajes: 6
Antigüedad: 21 años, 9 meses
Puntos: 0
SANDER, respuesta al tema de Variables Booleanas

Pagina donde tengo un cuadro de lista con todas las instalaciones y el formulario para agregar nuevas instalaciones.

<html>
<head>
<title>Instalaciones</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "sigma"
sSQL="select * from instalaciones order by instalacion"
'Ejecutamos la orden
set RS = Conn.Execute(sSQL)
%>
<table width="100%" border="0">
<tr>
<td>
<div align="center">INSTALACIONES</div>
</td>
</tr>
<tr>
<td>
<div align="center">
<select name="instalaciones" size="15" multiple>
<%
Do While Not RS.EOF
%>
<option>
<%Response.Write RS("Instalacion")%>
</option>
<%
RS.MoveNext
Loop
RS.Close
Conn.Close
Set RS = nothing
Set Conn = nothing
%>
</select>
</div>
</td>
</tr>
<tr>
<td height="65">
<form name="newcomp" method="post" action="insertarinstal.asp">
<div align="center">
<table width="100%" border="0">
<tr>
<td width="35%">
<div align="right">Nueva Instalación</div>
</td>
<td width="20%">
<input type="text" size=30 name="instalacion">
</td>
<td width="23%">
<div align="center">
<input type="checkbox" name="enuso" value="checkbox">
En Uso</div>
</td>
<td width="22%">
<input type="submit" name="newcomp" value="A&ntilde;adir">
</td>
</tr>
</table>
</div>
</form>
</td>
</tr>
</table>
</body>
</html>

Pagina donde se verifican los datos y se tiene que agregar las instalaciones:

<html>
<head>
<title>Resultado</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%
'Recogemos los valores del formulario
instalacion=Request.Form("instalacion")
enuso=Request.Form("enuso")
if enuso=-1 then
enuso=false
else
enuso=true
end if
'Instanciamos y abrimos nuestro objeto conexion
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "sigma"

'Ahora creamos la sentencia SQL
sSQL="Insert Into [instalaciones] (instalacion,EnUso) values ('" & instalacion & "','" & enuso & " ')"
'Ejecutamos la orden
set RS = Conn.Execute(sSQL)
%>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="instalaciones.asp">Visualizar el contenido de la base</a></div>
<%
'Cerramos el sistema de conexion
Conn.Close
%>
</body>
</html>

Referente a tu respuesta:

Primero que nada tienes que fijarte si de tu formulario estas mandando los datos con el metodo post, si es asi tu pagina de formulario estaria bien.

Segundo si tu codigo lo copiaste y lo pegaste en el mensaje me parece que en el momento de insertar los valores no lo debe hacer porque estan como comentarios fijate

'sSQL="Insert Into [instalaciones] (instalacion,EnUso) values ('" &
instalacion & "','" & enuso & " ')"

la primnera comilla no deberia estar, y asi estan algunas lineas mas de tu codigo, revisalo:.

Bueno tambien observo y te aconsejo que tu campo enuso al momento de declarar el if pongas el -1 entre comillas ya que solo es un referente para poder activar o desactivar y no un valor numeral, pero mi preferencia personal en estos casos es utilizar un si, si esta activo y un no si no lo esta, mas sencillo.

A otra cosa tienes que estar seguro que tu campo enuso de la base de datos sea si/no, y tambien de que no este predeterminada en si o no.

Por ultimo muchas veces asunque no locreas he tenido problemas con los campos con nombres que empiezan con inst de instalar, comand, false, etc. ya que son comandos propios del lenguaje, talves tambien pueda ser ello, si no entonces es de tu formulario no estas enviando bien los datos, revisalo.

Hey un momento en tu codigo no veo la conexion a la base de datos, lo tienes en una sesion, no estas declarando el nombre de tu base de datos sabes, tienes que nomas revisar bien tu codigo si no lo solucionas ponlo tus dos codigos aqui y ya veremos como te ayudamos.

--- Las comillas estaba puestas para depuración
--- El campo si que existe en la BD y es de si/no

No se como tratar el checkbox del formulario y capturar el valor de enuso para introducirlo en la tabla.

Gracias