Le code de la requête asp XML n'actualise pas la page. La méthode d'implémentation de la requête est la suivante :
<html>
<tête>
<title>Comment interroger sans actualiser la page</title>
<méta http-equiv=Content-Type content=text/html; charset=gb2312>
</tête>
<langage de script=javascript>
<!--Initialisation, charger les données de l'îlot de données dans la list box-->
fonction loadinsel()
{
var employed,employeelastname; //Stocker respectivement l'ID et le nom de l'employé.
root=document.all.xmlemployees.childNodes.item(0); //Renvoie le premier élément--employé
pour(i=0;i<root.childNodes.length;i++){
getnode=root.childNodes(i); //Obtenir un nœud enfant d'empolyee
Employeeid=root.childNodes(i).getAttribute(emid);//Obtenir l'ID de l'employé
pour(j=0;j<getnode.childNodes.length;j++){
employeinf=getnode.childNodes(j).nodeName;
if(employeeinf==nom){
Employeelastname=getnode.childNodes(j).text; //Obtenir le nom de l'employé
}
}
// Écrivez l'identifiant et le nom de l'employé obtenus dans select
if(employeeid!= && employlastname!=){
option1=document.createElement(option);
option1.text=nom de l'employé ;
option1.value=idemployé;
employelist.add(option1);
}
}
}
<!--Initialisation, récupérer les données de l'îlot de données et les charger dans la list box-->
fonction trouveremployé(){
var Employeelastname,employeeid; //Stocker respectivement le nom et l'ID de l'employé.
nom_employé=;
ID employé = ;
findtext=window.findcontent.value; //Obtenir les conditions de recherche
//Efface la zone de liste
employcount=employeelist.length
pour(i=employeecount-1;i>=0;i--){
liste des employés.remove(i);
}
root=window.xmlemployees.childNodes(0);
pour(i=0;i<root.childNodes.length;i++){
getitem=root.childNodes(i); //Obtenir un nœud enfant d'empolyee
Employeeid=root.childNodes(i).getAttribute(emid); //Obtenir l'ID de l'employé
pour(j=0;j<getitem.childNodes.length;j++){
if(getitem.childNodes(j).nodeName==nom){
employe_temp=getitem.childNodes(j).text;
if(employee_temp.indexOf(findtext)!=-1){ //Trouver les éléments correspondants
employelastname=employee_temp; //Rechercher des employés dont les noms correspondent
}
}
}
// Écrivez les informations sur l'employé qualifié dans la sélection
if(employeeid!= && employlastname!=){
option1=document.createElement(option);
option1.value=idemployé;
option1.text=nom de l'employé ;
window.employeelist.add(option1);
ID employé = ;
nom_employé=;
}
}
}
</script>
<body bgcolor=#FFFFFF text=#000000 onload=javascript:loadinsel()>
<largeur du tableau=80% bordure=1>
<tr>
<td> Veuillez saisir les conditions de la requête :
<type d'entrée=nom du texte=findcontent>
<input type=button name=Submit value=Find onclick=javascript:findemployee()>
</td>
</tr>
<tr>
<td> résultats de la requête :
<select name=employeelist>
</sélectionner>
</td>
</tr>
</table>
<?xml version=1.0 encodage=gb2312?>
<%
servername=wyb 'Nom du serveur
user=sa 'nom d'utilisateur
pw= 'Mot de passe utilisateur
nom de base de données=northwind 'nom de la base de données
définir conn=server.CreateObject(adodb.connection)
conn.Open DRIVER=SQL Server;SERVER=&servername&;UID=&user&;pwd=&pw&;DATABASE=&databasename
définir rs=server.CreateObject(adodb.recordset)
sql=Sélectionner l'ID de l'employé et le nom de famille dans l'ordre des employés par ID de l'employé
rs.Open sql,conn%>
<!--Placer les informations de la base de données dans l'îlot de données-->
<xml id=xmlemployees>
<employé>
<%do while not rs.eof%>
<employeeitem emid=<%=rs(employeeid)%>>
<nom><%=rs(nom)%></nom>
</employeeitem>
<%rs.movenext%>
<%boucle%>
</employé> </xml>
<%rs.close
définir rs = rien
%>
</corps>
</html>
Utilisez la fonction instr() d'ASP pour détecter si une chaîne contient la chaîne spécifiée
<%
Faible wstr1,wstr2
wstr1=bonjour tout le monde !
wstr2=o
si instr(wstr1,wstr2)>0 alors
réponse.write(&wstr2& existe dans &wstr1&)
autre
réponse.write(&wstr1& ne contient pas &wstr2&)
finir si
%>
-------------------
Fonction InStr
-------------------
InStr([début, ]string1, string2[, comparer])
【paramètre】
La syntaxe de la fonction InStr a les paramètres suivants :
partie
illustrer
commencer
Paramètres facultatifs. Pour une expression numérique, définit le point de départ de chaque recherche. En cas d'omission, commence à la première position du caractère. Si start contient Null, une erreur se produira. Si le paramètre compare est spécifié, le paramètre start doit être présent.
chaîne1
Paramètres requis. Accepte une expression de chaîne à rechercher.
chaîne2
Paramètres requis. L'expression de chaîne à rechercher.
Comparer
Paramètres facultatifs. Spécifiez des comparaisons de chaînes. Si la comparaison est Null, une erreur se produira. Si la comparaison est omise, le paramètre de Option Compare détermine le type de comparaison.
Le paramètre ?compare est défini sur :
constante
valeur
【décrire】
vbUseCompareOption
-1
Utilisez le paramètre d’instruction Option Compare pour effectuer une comparaison.
vbBinaryCompare
0
Effectuez une comparaison binaire.
vbTextCompare
1
Effectuez une comparaison textuelle.
vbDatabaseCompare
2
Pour Microsoft Access uniquement, effectue une comparaison basée sur les informations de la base de données.
【valeur de retour】
Renvoie 0, 1, 2, -1 ou Null, etc.
【Exception/Erreur】
aucun
DescriptionInStr([start, ]string1, string2[, compare])
Renvoie la première occurrence d'une chaîne spécifiée dans une autre chaîne. Dans la chaîne string1, recherchez string2 en commençant par start. Lorsque start est omis, recherchez à partir du début de string1. Lorsqu'elle n'est pas trouvée, la valeur de la fonction est 0.
si
EntréeStreturn
string1 est de longueur nulle
0
string1 est nul
Nul
string2 est de longueur nulle
Commencer
string2 est nul
Nul
chaîne2 introuvable
0
Rechercher chaîne2 dans chaîne1
emplacement trouvé
démarrer > chaîne2
0
【Exemple】
Cet exemple utilise la fonction InStr pour rechercher la première occurrence d'une chaîne dans une autre chaîne.
Dim SearchString, SearchChar, MyPos
SearchString =XXpXXpXXPXXP ' La chaîne recherchée.
SearchChar = P ' Pour rechercher la chaîne P.
' À partir du quatrième caractère, recherche par comparaison de texte. La valeur de retour est 6 (p minuscule).
' Les p minuscules et les P majuscules sont identiques lors de la comparaison de texte.
MyPos = Instr(4, SearchString, SearchChar, 1)
' À partir du premier caractère, effectuez une recherche par comparaison binaire. La valeur de retour est de 9 (P majuscule).
' Les p minuscules et les P majuscules sont différents en comparaison binaire.
MyPos = Instr(1, SearchString, SearchChar, 0)
'La méthode de comparaison par défaut est la comparaison binaire (le dernier paramètre peut être omis).
MyPos = Instr(SearchString, SearchChar) 'Retour 9.
MyPos = Instr(1, SearchString, W) ' Renvoie 0.