Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2003, 13:41
Avatar de Mulato
Mulato
 
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 23 años, 4 meses
Puntos: 0
Motor de busqueda en BD

Saludos estoy armando un motor de buesqueda Contra SQL pero cuando hago la consulta no me detalla sino que me envia todos los registros lo que quiero es que me envie los registros que coincidan con la solicitud desde la forma:

Codigo:

<%
'Se declara una variable para almacenar el parametro del la forma

ctexto = request.form("cadena")

'Si no escribió nada, se envía un error
IF ctexto = "" THEN
error = "Error: Debe completar todos los datos antes de presionar el botón 'Buscar'."
Response.Write "<CENTER>"
Response.Write "<BR> <BR>"
Response.Write "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
Response.Write error
Response.Write "<BR> <BR>"
Response.Write "Presione <a href='javascript:history.go(-1)'>aqui</a> para volver a la página anterior"
Response.Write "<BR> <BR>"
Response.Write "<a href='javascript:history.go(-1)'>--- Regresar ---</a>"
Response.Write "</font>"
Response.Write "</CENTER>"
Response.End
END IF

'Abre la conexion con la base de datos

Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "Provider=SQLOLEDB; SERVER=servidor; UID=usuario;PWD=clave;DATABASE=base; INITIAL CATALOG=base"

'Separar la cadena en dos string (si aplica)
n=len(ctexto)

FOR variable=1 TO n
ctexto1=mid(ctexto,variable, 1)
IF ctexto1= " " THEN
ctexto2=mid(ctexto,1, variable)
IF variable<>n THEN
ctexto3=trim(mid(ctexto,variable+1, 30))
ELSE
ctexto3=ctexto2
END IF
variable=n
ELSE
ctexto2=ctexto
ctexto3=" "
END IF
NEXT


'Ejecuta un sentencia SQL de consulta
'sql = "SELECT * FROM personal_ubicacion WHERE (APELLIDOS LIKE '%"&ctexto2&"%' AND NOMBRES LIKE '%"&ctexto3&"%') OR (APELLIDOS LIKE '%"&ctexto3&"%' AND NOMBRES LIKE '%"&ctexto2&"%') OR PABX LIKE '%"&ctexto2&"%'OR EMAIL_INTERNO LIKE '%"&ctexto2&"%' ORDER BY APELLIDOS"
'sql = "SELECT * FROM personal_ubicacion WHERE (APELLIDOS LIKE '%"&ctexto2&"%' AND NOMBRES LIKE '%"&ctexto3&"%') OR (APELLIDOS LIKE '%"&ctexto3&"%' AND NOMBRES LIKE '%"&ctexto2&"%') OR PABX LIKE '%"&ctexto2&"%' OR EMAIL_INTERNO LIKE '%"&ctexto2&"%' ORDER BY APELLIDOS"
'sql2 = "SELECT count(*) total FROM personal_ubicacion WHERE (APELLIDOS LIKE '%"&ctexto2&"%' AND NOMBRES LIKE '%"&ctexto3&"%') OR (APELLIDOS LIKE '%"&ctexto3&"%' AND NOMBRES LIKE '%"&ctexto2&"%') OR PABX LIKE '%"&ctexto2&"%' OR EMAIL_INTERNO LIKE '%"&ctexto2&"%'"

sql = "SELECT is_cedula, chr_siglas_est, is_apellido, is_nombre, chr_tel_oficina, chr_correo FROM personal, estruc_organ WHERE personal.in_codigo = estruc_organ.in_codigo AND (is_nombre LIKE '%"&ctexto2&"%' OR is_apellido LIKE '%"&ctexto3&"%') ORDER BY is_apellido"

sql2 = "SELECT COUNT(*) total FROM personal WHERE is_nombre LIKE '%"&ctexto2&"%' OR is_apellido LIKE '%"&ctexto3&"%'"

Set result = cnn.Execute(sql)
Set result2 = cnn.Execute(sql2)


En realidad no se en que me esta fallando..

Agradeciendo su colaboración