O código para consulta asp xml não atualiza a página. O método de implementação da consulta é o seguinte:
<html>
<cabeça>
<title>Como consultar sem atualizar a página</title>
<meta http-equiv=Tipo de conteúdo content=text/html charset=gb2312>
</head>
<linguagem de script=javascript>
<!--Inicialização, carregue os dados da ilha de dados na caixa de listagem-->
função loadinsel()
{
var Employeeid,employeelastname; //Armazena ID e nome do funcionário respectivamente
root=document.all.xmlemployees.childNodes.item(0); //Retorna o primeiro elemento--funcionário
for(i=0;i<root.childNodes.length;i++){
getnode=root.childNodes(i); //Obter um nó filho do funcionário
Employeeid=root.childNodes(i).getAttribute(emid);//Obter ID do funcionário
for(j=0;j<getnode.childNodes.length;j++){
funcionárioinf=getnode.childNodes(j).nodeName;
if(employeeinf==sobrenome){
Employeelastname=getnode.childNodes(j).text; //Obter o nome do funcionário
}
}
//Escreve o EmployeeID e o EmployeeLastname obtidos no select
if(employeeid!= && sobrenomedofuncionário!=){
opção1=document.createElement(opção);
opção1.text=employeelastname;
opção1.valor=employeeid;
listadefuncionários.add(opção1);
}
}
}
<!--Inicialização, recupere dados da ilha de dados e carregue-os na caixa de listagem-->
função encontrarfuncionário(){
var Employeelastname,employeeid; //Armazena o nome e o ID do funcionário respectivamente
sobrenomedofuncionário=;
iddofuncionário=;
findtext=window.findcontent.value; //Obter as condições de pesquisa
//Limpa a caixa de listagem
contagemdefuncionários=listadefuncionários.comprimento
for(i=contagemdefuncionários-1;i>=0;i--){
listadefuncionários.remove(i);
}
root=window.xmlemployees.childNodes(0);
for(i=0;i<root.childNodes.length;i++){
getitem=root.childNodes(i); //Obter um nó filho do funcionário
Employeeid=root.childNodes(i).getAttribute(emid); //Obter ID do funcionário
for(j=0;j<getitem.childNodes.length;j++){
if(getitem.childNodes(j).nodeName==sobrenome){
funcionário_temp=getitem.childNodes(j).text;
if(employee_temp.indexOf(findtext)!=-1){ //Encontrar itens correspondentes
Employeelastname=employee_temp; //Encontre funcionários com nomes correspondentes
}
}
}
//Escreve informações de funcionários qualificados em select
if(employeeid!= && sobrenomedofuncionário!=){
opção1=document.createElement(opção);
opção1.valor=employeeid;
opção1.text=employeelastname;
janela.employeelist.add(opção1);
iddofuncionário=;
sobrenomedofuncionário=;
}
}
}
</script>
<body bgcolor=#FFFFFF text=#000000 onload=javascript:loadinsel()>
<largura da tabela=80% borda=1>
<tr>
<td> Insira as condições de consulta:
<tipo de entrada=nome do texto=encontrar conteúdo>
<tipo de entrada=nome do botão=Enviar valor=Encontrar onclick=javascript:findemployee()>
</td>
</tr>
<tr>
<td> resultados da consulta:
<selecione nome=listadefuncionários>
</selecionar>
</td>
</tr>
</tabela>
<?xml versão=1.0 codificação=gb2312?>
<%
servername=wyb 'Nome do servidor
usuário=sa 'nome de usuário
pw= 'Senha do usuário
nome do banco de dados=northwind 'nome do banco de dados
definir conn=server.CreateObject(adodb.connection)
conn.Open DRIVER=SQL Server;SERVER=&servername&;UID=&user&;pwd=&pw&;DATABASE=&databasename
definir rs=server.CreateObject(adodb.recordset)
sql=Selecione ID do funcionário, sobrenome do pedido dos funcionários por ID do funcionário
rs.Open sql,conn%>
<!--Coloque as informações do banco de dados na ilha de dados-->
<xml id=xmlemployees>
<funcionário>
<%do enquanto não rs.eof%>
<employeeitem emid=<%=rs(employeeid)%>>
<sobrenome><%=rs(sobrenome)%></sobrenome>
</employeeitem>
<%rs.movenext%>
<%loop%>
</funcionário> </xml>
<%rs.fechar
definir rs = nada
%>
</body>
</html>
Use a função instr() do ASP para detectar se uma string contém a string especificada
<%
Diminuir wstr1,wstr2
wstr1=olá mundo!
wstr2=o
se instr(wstr1,wstr2)>0 então
resposta.write(&wstr2& existe em &wstr1&)
outro
resposta.write(&wstr1& não contém &wstr2&)
terminar se
%>
-------------------
Função InStr
-------------------
InStr([iniciar, ]string1, string2[, comparar])
【parâmetro】
A sintaxe da função InStr possui os seguintes parâmetros:
papel
ilustrar
começar
Parâmetros opcionais. Para uma expressão numérica, define o ponto inicial de cada pesquisa. Se omitido, começa na posição do primeiro caractere. Se start contiver Null, ocorrerá um erro. Se o parâmetro compare for especificado, o parâmetro start deverá estar presente.
string1
Parâmetros obrigatórios. Aceita uma expressão de string para pesquisar.
string2
Parâmetros obrigatórios. A expressão de string a ser pesquisada.
Comparar
Parâmetros opcionais. Especifique comparações de strings. Se comparar for Nulo, ocorrerá um erro. Se comparar for omitido, a configuração de Option Compare determinará o tipo de comparação.
O parâmetro ?compare está definido como:
constante
valor
【descrever】
vbUseCompareOption
-1
Use a configuração da instrução Option Compare para realizar uma comparação.
vbBinaryCompare
0
Execute uma comparação binária.
vbTextCompare
1
Faça uma comparação textual.
vbDatabaseCompare
2
Somente para Microsoft Access, realiza uma comparação com base nas informações do banco de dados.
【valor de retorno】
Retorna 0, 1, 2, -1 ou Nulo, etc.
【Exceção/Erro】
nenhum
DescriptionInStr([iniciar, ]string1, string2[, comparar])
Retorna a primeira ocorrência de uma string especificada dentro de outra string. Na string string1, procure string2 começando no início. Quando start for omitido, procure a partir do início da string1. Quando não encontrado, o valor da função é 0.
se
InStreturn
string1 tem comprimento zero
0
string1 é nulo
Nulo
string2 tem comprimento zero
Começar
string2 é nulo
Nulo
string2 não encontrada
0
Encontre string2 em string1
localização encontrada
iniciar > string2
0
【Exemplo】
Este exemplo usa a função InStr para localizar a primeira ocorrência de uma string dentro de outra string.
Dim SearchString, SearchChar, MyPos
SearchString =XXpXXpXXPXXP ' A string que está sendo pesquisada.
SearchChar = P ' Para pesquisar a string P.
'A partir do quarto caractere, pesquise por comparação de texto. O valor de retorno é 6 (p minúsculo).
'P minúsculo e P maiúsculo são iguais na comparação de texto.
MinhaPos = Instr(4, SearchString, SearchChar, 1)
'A partir do primeiro caractere, pesquise usando comparação binária. O valor de retorno é 9 (P maiúsculo).
'P minúsculo e P maiúsculo são diferentes na comparação binária.
MyPos = Instr(1, SearchString, SearchChar, 0)
'O método de comparação padrão é a comparação binária (o último parâmetro pode ser omitido).
MyPos = Instr(SearchString, SearchChar) 'Retorna 9.
MinhaPos = Instr(1, SearchString, W) ' Retorna 0.