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

Buscador en ASP, pero me da error

Estas en el tema de Buscador en ASP, pero me da error en el foro de ASP Clásico en Foros del Web. Hola. Estoy tratando de armar un buscador en ASP que encontre en Webexperto, pero por mi aún poco conocimiento en ASP no se que hacer. ...
  #1 (permalink)  
Antiguo 27/03/2004, 00:44
Avatar de Learing  
Fecha de Ingreso: agosto-2002
Ubicación: Republica Dominicana
Mensajes: 141
Antigüedad: 22 años, 8 meses
Puntos: 0
Buscador en ASP, pero me da error

Hola.

Estoy tratando de armar un buscador en ASP que encontre en Webexperto, pero por mi aún poco conocimiento en ASP no se que hacer.

Para ahorrarme las explicaciónes de como funsiona esto, aquí tienen el link donde explica todo.

C:\Documents and Settings\Moises\Mis documentos\Diseños\Web\WebExperto_com - Artículos - Buscador en ASP.htm

Pero este es el error que me da a mi cuando voy hacer una prueba.

Voy a cargar.htm ingreso unos datos y cuando "ingresar.asp" debería hacer su trabajo me da este error y no entiendo nada.

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Controlador ODBC Microsoft Access] Pocos parámetros. Se esperaba 1.
/buscador/ingreso.asp, línea 19


Tipo de explorador:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Página:
POST 100 bytes to /buscador/ingreso.asp

Datos de POST:
Dato1=Moi&Dato2=Prueba&Dato3=www.puntacana.com&Dat o4=Atractivos+Turisticos&Dato5=Turismo&B1=Ingresar

Saludos, espero me puedan ayudar.
__________________
Cree en Dios ten fé que el es grande
  #2 (permalink)  
Antiguo 27/03/2004, 00:53
Avatar de Learing  
Fecha de Ingreso: agosto-2002
Ubicación: Republica Dominicana
Mensajes: 141
Antigüedad: 22 años, 8 meses
Puntos: 0
Para ahorrar tiempo, postaré el codigo de ingreso.asp donde dice que da un error en la linea 19

<title>Ingreso de Datos</title>
</head>
<!-- comienza el script -->
<%
'definimos la variable de conexion
Dim Conexion,Tabla
Set Conexion = Server.CreateObject("ADODB.Connection")
Set Tabla = Server.CreateObject("ADODB.Recordset")
'conectamos a la base de datos mediante OLE ODBC dando el Driver
Conexion.Open "Driver={Microsoft Access Driver (*.mdb)}; " & "Dbq=" & Server.MapPath("base.mdb")
'definimos la variable de carga de datos
Dim Temp
'buscamos los datos
Temp="Select * From Tabla1 Where UCase(Nombre)='" & UCase(Request("Dato1")) & "' And UCase(Des)='" & UCase(Request("Dato2")) & "' And UCase(Url)='" & UCase(Request("Dato3")) & "' And UCase(Categoria)='" & UCase(Request("Dato4")) & "' And UCase(Pal)='" & UCase(Request("Dato5")) &"'"
Tabla.Open Temp,Conexion,2,3,1
'si no se repiten agregamos los datos a nuestro buscador
If Tabla.BOF And Tabla.EOF Then
Tabla.AddNew
Tabla("Nombre") = Request("Dato1")
Tabla("des") = Request("Dato2")
Tabla("Url") = Request("Dato3")
Tabla("Categoria") = Request("Dato4")
Tabla("Pal") = Request("Dato5")
Tabla.Update
'fin del Script
%>

<font face="Tahoma" size="2"><b><i>Ingreso de datos completado</i></b></font></p>
<%
'si el campo ya existe para no hacer dobles nos da este mensaje
Else
Response.Write "El registro ya existe"
End If
'cerramos la conexion
Tabla.Close
Conexion.Close
%>
<p align="center"><font face="Tahoma" size="2"><b><i>Buscador Web 2002</i></b></font></p>

<p align="center"><font face="Tahoma" size="2"><b><i><a href="ingreso.htm" target="_top">Ingresar
Nuevo</a></i></b></font></p>
</body>
</html>


Esta viene siento la linea 19

Tabla.Open Temp,Conexion,2,3,1
__________________
Cree en Dios ten fé que el es grande

Última edición por Learing; 27/03/2004 a las 00:55
  #3 (permalink)  
Antiguo 27/03/2004, 07:27
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 92
Antigüedad: 21 años, 1 mes
Puntos: 0
Has probado a ponerlo así? A mi todas las que tengo asi me funcionan a la perfeccion y si dentro de la consulta quieres meter un dato del formulario pues tendrias que poner por ejemplo
WHERE campo1='" & request("dato1") & "'

Conexion.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & server.mappath("nombredelaBD.mdb") & ";"
ordensql="Cunsulta que desees cargar en el recordest"

set registros=conexion.execute(ordensql)

Aunque al parecer lo que quieres hacer es insertar los 5 campos en un registro nuevo de la tabla, pon en la ordensql lo siguiente:

ordensql="Insert Into Tabla values('" & rquest(dato1) & "','" & rquest(dato2) & "','" & rquest(dato3) & "','" & rquest(dato4) & "','" & rquest(dato5) & "')

y una vez que pongas set registros=conexion.execute(ordensql)
ya te añade el registro a la tabla.

IMPORTANTE: Los campos de texto llevan comillas simples, los numericos nada y asegurare de los campos que te permiten nulos y los que no porque antes de insertar debes asegurarte que lo que vas a insertar no es nulo y por supuesto que no duplique los valores en la clave principal.
__________________
Aupa Athletik!!!

Última edición por malpika; 27/03/2004 a las 07:32
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 08:40.