Errores en asp al actualizar base de datos
Buenas, soy nuevo en esto y no tengo mucha idea, por favor a ver si me podéis ayudar con dos errores que se me muestran , uno al editar un apunte ya existente y otro al crear apunte nuevo
muchas gracias
tengo una base de datos que se llama portada.mdb ( access 2000)
tengo también una pagina "manteni.asp" en la que veo la información de la base de datos y me da la opción de editar, borrar o crear nuevo apunte en la base de datos.
si le doy a editar me sale el siguiente error :
ADODB.Recordset (0x800A0CC1)
No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
<a>/salvavidas/editar.asp</a>, línea 44
adjunto código del fichero editar .asp
<%@ LANGUAGE = VBScript %>
<%
function lCompleta( cCadena, cChar, lon )
lCompleta = cCadena
dif = lon - len( cCadena )
if dif > 0 then
relleno = string( dif, cChar )
lCompleta = relleno & cCadena
end if
end function
id = request("id")
if id <> "" then
cModo = "Modificación "
accessdb="portada.mdb"
DSN="DRIVER={Microsoft Access Driver (*.mdb)};Database Locking Mode=0; DBQ=" & server.mappath(accessdb)
set con = server.createobject("ADODB.connection")
cn.open DSN
sSQL = "SELECT * FROM zonas WHERE id = " & id
set rs = cn.execute(sSQL)
id = rs("id")
Nombre = rs("nombre")
orden = rs("0rden")
ayuda = rs("ayuda")
url = rs("url")
visibilidad = rs("visibilidad")
rs.Close
Set rs = nothing
cn.Close
Set con = nothing
cModo = "Alta "
id = 0
Nombre = ""
url =""
ayuda =""
orden = ""
visibilidad = falso
end if
if visibilidad then
visibilidad = "true"
else
visibilidad = "false"
end if
%>
<html>
<head>
<title>Editar registro</title>
<style type="text/css">
<!--
BODY{font-weight:normal;font-family:Arial;font-size:8pt}
th{font-weight:bold;font-family:Arial;font-size:9pt;color:#000088;text-align: right;background-color:silver;}
td{font-weight:normal;font-family:Arial;font-size:8pt;color:#000088}
.titulo{font-weight:bold;font-family:Arial;font-size:14pt;color:#000088}
.campo{font-weight:normal;font-family:Arial;font-size:9pt; width:650px;}
//-->
</style>
<script language="JavaScript" src="/rutinas/funciones.js"></script>
<SCRIPT LANGUAGE="JavaScript">
<!--
function carga()
{
document.f1.tipo.options[<%=tipo%>].selected = true;
document.f1.visibilidad.checked = <%=visibilidad%>;
}
//-->
</SCRIPT>
</head>
<body background="/imágenes/ff.gif" onLoad="carga(); document.f1.tipo.focus();">
<table width="750" border="0" cellspacing="0" cellpadding="0" align="center">
<tr><td>
<table width="100%">
<tr><td class="titulo"><%=cModo%> Crear Botones</td>
<td align="right"></td></tr>
</table>
<form action="actualiza.asp" target="dos" method="post" onSubmit="return MiraForm(this);" name="f1">
<input type="hidden" name="id" value="<%=id%>">
<table border="0">
<td>
</td>
<td>
</td>
<th>¿ Activa ? </th>
<td><input type="checkbox" name="visibilidad"></td>
</tr>
</table>
</td>
</tr>
<tr>
<th>Nombre:</th>
<td><input type="text" name="nombre" value="<%=nombre%>" size="80" maxlenght="120"></td>
</tr>
<tr>
<th valign="top">url:</th>
<td><textarea rows="5" cols="80" name="url" class="campo"><%=url%></textarea></td>
</tr>
<tr>
<th valign="top">ayuda:</th>
<td><textarea rows="2" cols="80" name="ayuda" class="campo"><%=ayuda%></textarea></td>
</tr>
<tr>
<th>Nº orden:</th>
<td><input type="text" value="<%=orden%>" name="orden" size="40" maxlenght="50"></td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="submit" value="Enviar" title="Pulse este botón una vez que haya completado los datos y desee actualizar la Base de Datos."> <input type="button" value="Cancelar" onClick="javascript:history.back();" title="Pulse este botón para cancelar la grabación y volver a la pantalla anterior sin modificar ningún dato.">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>
si lo que intento es crear apunte nuevo, me aparece sin problemas la pagina asp de editar y el error que me muestra es:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta operador) en la expresión de consulta 'id ='.
/@salvavidas/actualiza.asp, línea 59
adjunto código de la pag actualiza.asp
<%@ LANGUAGE = VBScript %>
<!--#include virtual="/rutinas/funciones.asp"-->
<%
id = request("id")
nombre = ODBCStr(request("nombre"))
visibilidad = request("visibilidad")
url = ODBCStr(request("url"))
ayuda = ODBCStr(request("ayuda"))
orden = ODBCStr(request("orden"))
fregistro = now()
ipregistro = Request.ServerVariables("REMOTE_ADDR")
' finicio = mid(finicio, 4, 2) & "/" & left(finicio, 2) & "/" & right(finicio, 2 )
if visibilidad = "on" then
visibilidad = "true"
else
visibilidad = "false"
end if
accessdb = "portada.mdb"
DSN="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &...