El código para la consulta asp xml no actualiza la página. El método de implementación de la consulta es el siguiente:
<html>
<cabeza>
<title>Cómo realizar consultas sin actualizar la página</title>
<meta http-equiv=Tipo de contenido content=text/html charset=gb2312>
</cabeza>
<lenguaje de escritura=javascript>
<!--Inicialización, cargue los datos de la isla de datos en el cuadro de lista-->
función cargainsel()
{
var empleadoid,employeelastname //Almacenar ID de empleado y nombre de empleado respectivamente
root=document.all.xmlemployees.childNodes.item(0); //Devuelve el primer elemento: empleado
for(i=0;i<root.childNodes.length;i++){
getnode=root.childNodes(i); //Obtener un nodo hijo del empleado
Employeeid=root.childNodes(i).getAttribute(emid);//Obtener ID de empleado
for(j=0;j<getnode.childNodes.length;j++){
empleadoinf=getnode.childNodes(j).nodeName;
if(empleadoinf==apellido){
Employeelastname=getnode.childNodes(j).text; //Obtener el nombre del empleado
}
}
//Escribe el ID de empleado y el apellido del empleado obtenidos en select
if(empleadoid!= && empleadoapellido!=){
opción1=documento.createElement(opción);
option1.text=empleadoapellido;
opción1.valor=id de empleado;
lista de empleados.add(opción1);
}
}
}
<!--Inicialización, recuperar datos de la isla de datos y cargarlos en el cuadro de lista-->
función encontrarempleado(){
var Employeelastname,employeeid //Almacenar el nombre del empleado y el ID del empleado respectivamente
apellidodelempleado=;
ID de empleado=;
findtext=window.findcontent.value //Obtener las condiciones de búsqueda
//Borrar el cuadro de lista
recuento de empleados = lista de empleados.longitud
for(i=recuento de empleados-1;i>=0;i--){
lista de empleados.remove(i);
}
root=ventana.xmlemployees.childNodes(0);
for(i=0;i<root.childNodes.length;i++){
getitem=root.childNodes(i); //Obtener un nodo hijo del empleado
Employeeid=root.childNodes(i).getAttribute(emid); //Obtener ID del empleado
for(j=0;j<getitem.childNodes.length;j++){
if(getitem.childNodes(j).nodeName==apellido){
empleado_temp=getitem.childNodes(j).text;
if(employee_temp.indexOf(findtext)!=-1){ //Buscar elementos coincidentes
Employeelastname=employee_temp; //Buscar empleados con nombres coincidentes
}
}
}
//Escribe la información del empleado calificado en select
if(empleadoid!= && empleadoapellido!=){
opción1=documento.createElement(opción);
opción1.valor=id de empleado;
option1.text=empleadoapellido;
window.employeelist.add(opción1);
ID de empleado=;
apellidodelempleado=;
}
}
}
</script>
<cuerpo bgcolor=#FFFFFF texto=#000000 onload=javascript:loadinsel()>
<ancho de tabla=80% borde=1>
<tr>
<td> Por favor ingrese las condiciones de consulta:
<tipo de entrada=nombre de texto=buscar contenido>
<tipo de entrada=nombre del botón=Enviar valor=Buscar onclick=javascript:findemployee()>
</td>
</tr>
<tr>
<td> resultados de la consulta:
<seleccionar nombre=lista de empleados>
</seleccionar>
</td>
</tr>
</tabla>
<?versión xml=codificación 1.0=gb2312?>
<%
nombredelservidor=wyb 'Nombre del servidor
usuario=sa 'nombre de usuario
pw= 'Contraseña de usuario
nombre de base de datos = viento norte 'nombre de base de datos
establecer conexión=servidor.CreateObject(adodb.conexión)
conn.Open DRIVER=SQL Server;SERVER=&servername&;UID=&user&;pwd=&pw&;DATABASE=&databasename
establecer rs=servidor.CreateObject(adodb.recordset)
sql=Seleccione ID de empleado, apellido del orden de empleados por ID de empleado
rs.Abrir sql,conn%>
<!--Coloque la información de la base de datos en la isla de datos-->
<xml id=xmlempleados>
<empleado>
<%hacer mientras no rs.eof%>
<employeeitem emid=<%=rs(employeeid)%>>
<apellido><%=rs(apellido)%></apellido>
</employeeitem>
<%rs.movenext%>
<%bucle%>
</empleado> </xml>
<%rs.cerrar
establecer rs = nada
%>
</cuerpo>
</html>
Utilice la función instr() de ASP para detectar si una cadena contiene la cadena especificada
<%
Atenuar wstr1,wstr2
wstr1=¡hola mundo!
wstr2=o
si instr(wstr1,wstr2)>0 entonces
respuesta.write(&wstr2& existe en &wstr1&)
demás
respuesta.write(&wstr1& no contiene &wstr2&)
terminar si
%>
-------------------
Función InStr
-------------------
InStr([inicio, ]cadena1, cadena2[, comparar])
【parámetro】
La sintaxis de la función InStr tiene los siguientes parámetros:
parte
ilustrar
comenzar
Parámetros opcionales. Para una expresión numérica, establece el punto de partida para cada búsqueda. Si se omite, comienza en la posición del primer carácter. Si el inicio contiene Null, se producirá un error. Si se especifica el parámetro de comparación, el parámetro de inicio debe estar presente.
cadena1
Parámetros requeridos. Acepta una expresión de cadena para buscar.
cadena2
Parámetros requeridos. La expresión de cadena que se va a buscar.
Comparar
Parámetros opcionales. Especifique comparaciones de cadenas. Si la comparación es nula, se producirá un error. Si se omite la comparación, la configuración de la opción Comparar determina el tipo de comparación.
El parámetro ?compare está establecido en:
constante
valor
【describir】
vbUseCompareOption
-1
Utilice la configuración de instrucción Option Compare para realizar una comparación.
vbBinaryCompare
0
Realizar una comparación binaria.
vbTextComparar
1
Realizar una comparación textual.
vbBase de datosComparar
2
Solo para Microsoft Access, realiza una comparación basada en la información de la base de datos.
【valor de retorno】
Devuelve 0, 1, 2, -1 o nulo, etc.
【Excepción/Error】
ninguno
DescripciónInStr([inicio, ]cadena1, cadena2[, comparar])
Devuelve la primera aparición de una cadena especificada dentro de otra cadena. En la cadena cadena1, busque cadena2 comenzando desde el inicio. Cuando se omite el inicio, busque desde el principio de cadena1. Cuando no se encuentra, el valor de la función es 0.
si
InStrreturn
string1 tiene longitud cero
0
cadena1 es nula
Nulo
string2 tiene longitud cero
Comenzar
cadena2 es nula
Nulo
cadena2 no encontrada
0
Encuentra cadena2 en cadena1
ubicación encontrada
inicio > cadena2
0
【Ejemplo】
Este ejemplo utiliza la función InStr para encontrar la primera aparición de una cadena dentro de otra cadena.
Atenuar SearchString, SearchChar, MyPos
SearchString =XXpXXpXXPXXP ' La cadena que se busca.
SearchChar = P ' Para buscar la cadena P.
' A partir del cuarto carácter, busca por comparación de texto. El valor de retorno es 6 (p minúscula).
' La p minúscula y la P mayúscula son iguales en la comparación de texto.
MyPos = Instr(4, cadena de búsqueda, carácter de búsqueda, 1)
' Comenzando desde el primer carácter, busque usando comparación binaria. El valor de retorno es 9 (P mayúscula).
' La p minúscula y la P mayúscula son diferentes en la comparación binaria.
MyPos = Instr(1, cadena de búsqueda, carácter de búsqueda, 0)
'El método de comparación predeterminado es la comparación binaria (se puede omitir el último parámetro).
MyPos = Instr(SearchString, SearchChar) ' Devuelve 9.
MyPos = Instr(1, SearchString, W) ' Devuelve 0.