Der Code für die ASP-Abfrage-XML aktualisiert die Seite nicht. Die Implementierungsmethode der Abfrage ist wie folgt:
<html>
<Kopf>
<title>So führen Sie eine Abfrage durch, ohne die Seite zu aktualisieren</title>
<meta http-equiv=Content-Type content=text/html;
</head>
<Skriptsprache=Javascript>
<!--Initialisierung, Daten der Dateninsel in das Listenfeld laden-->
Funktion Loadinsel()
{
var Employeeid,Employeelastname; //Mitarbeiter-ID bzw. Mitarbeiternamen speichern
root=document.all.xmlemployees.childNodes.item(0); //Das erste Element zurückgeben --employee
for(i=0;i<root.childNodes.length;i++){
getnode=root.childNodes(i); //Einen untergeordneten Knoten von empolyee abrufen
Employeeid=root.childNodes(i).getAttribute(emid);//Mitarbeiter-ID abrufen
for(j=0;j<getnode.childNodes.length;j++){
Employeeinf=getnode.childNodes(j).nodeName;
if(employeeinf==lastname){
Employeelastname=getnode.childNodes(j).text; //Mitarbeiternamen abrufen
}
}
//Schreiben Sie die erhaltene Mitarbeiter-ID und den Mitarbeiternachnamen in „select“.
if(employeeid!= && Employeenachname!=){
option1=document.createElement(option);
option1.text=Mitarbeiternachname;
option1.value=mitarbeiter-id;
Employeelist.add(option1);
}
}
}
<!--Initialisierung, Daten von der Dateninsel abrufen und in das Listenfeld laden-->
Funktion findemployee(){
var Employeelastname,Employeeid; //Speichern Sie den Namen des Mitarbeiters bzw. die Mitarbeiter-ID
Mitarbeiternachname=;
Mitarbeiter-ID=;
findtext=window.findcontent.value; //Suchbedingungen abrufen
//Löschen Sie das Listenfeld
Employeecount=employeelist.length
for(i=employeecount-1;i>=0;i--){
Employeelist.remove(i);
}
root=window.xmlemployees.childNodes(0);
for(i=0;i<root.childNodes.length;i++){
getitem=root.childNodes(i); //Einen untergeordneten Knoten von empolyee abrufen
Employeeid=root.childNodes(i).getAttribute(emid); //Mitarbeiter-ID abrufen
for(j=0;j<getitem.childNodes.length;j++){
if(getitem.childNodes(j).nodeName==lastname){
Employee_temp=getitem.childNodes(j).text;
if(employee_temp.indexOf(findtext)!=-1){ //Übereinstimmende Elemente finden
Employeelastname=employee_temp; //Mitarbeiter mit passenden Namen finden
}
}
}
//Schreiben Sie qualifizierte Mitarbeiterinformationen in select
if(employeeid!= && Employeenachname!=){
option1=document.createElement(option);
option1.value=mitarbeiter-id;
option1.text=Mitarbeiternachname;
window.employeelist.add(option1);
Mitarbeiter-ID=;
Mitarbeiternachname=;
}
}
}
</script>
<body bgcolor=#FFFFFF text=#000000 onload=javascript:loadinsel()>
<table width=80% border=1>
<tr>
<td> Bitte geben Sie die Abfragebedingungen ein:
<Eingabetyp=Textname=findcontent>
<input type=button name=Submit value=Find onclick=javascript:findemployee()>
</td>
</tr>
<tr>
<td> Abfrageergebnisse:
<select name=employeelist>
</select>
</td>
</tr>
</table>
<?xml version=1.0kodierung=gb2312?>
<%
servername=wyb 'Servername
user=sa 'Benutzername
pw= 'Benutzerpasswort
Datenbankname=Northwind 'Datenbankname
set conn=server.CreateObject(adodb.connection)
conn.Open DRIVER=SQL Server;SERVER=&servername&;UID=&user&;pwd=&pw&;DATABASE=&databasename
set rs=server.CreateObject(adodb.recordset)
sql=Wählen Sie Mitarbeiter-ID und Nachname aus der Reihenfolge der Mitarbeiter nach Mitarbeiter-ID aus
rs.Open sql,conn%>
<!--Fügen Sie die Informationen in der Datenbank in die Dateninsel ein-->
<xml id=xmlemployees>
<Mitarbeiter>
<%do while not rs.eof%>
<employeeitem emid=<%=rs(employeeid)%>>
<lastname><%=rs(lastname)%></lastname>
</employeeitem>
<%rs.movenext%>
<%loop%>
</employee> </xml>
<%rs.close
setze rs=nichts
%>
</body>
</html>
Verwenden Sie die Funktion instr() von ASP, um zu erkennen, ob eine Zeichenfolge die angegebene Zeichenfolge enthält
<%
Dimmen Sie wstr1,wstr2
wstr1=Hallo Welt!
wstr2=o
wenn instr(wstr1,wstr2)>0 dann
Response.write(&wstr2& existiert in &wstr1&)
anders
Response.write(&wstr1& enthält nicht &wstr2&)
Ende wenn
%>
-------------------
InStr-Funktion
-------------------
InStr([start, ]string1, string2[, vergleichen])
【Parameter】
Die Syntax der InStr-Funktion hat die folgenden Parameter:
Teil
veranschaulichen
Start
Optionale Parameter. Legt für einen numerischen Ausdruck den Startpunkt für jede Suche fest. Wenn es weggelassen wird, beginnt es an der ersten Zeichenposition. Wenn start Null enthält, tritt ein Fehler auf. Wenn der Vergleichsparameter angegeben ist, muss der Startparameter vorhanden sein.
string1
Erforderliche Parameter. Akzeptiert einen Zeichenfolgenausdruck, nach dem gesucht werden soll.
string2
Erforderliche Parameter. Der zu suchende Zeichenfolgenausdruck.
Vergleichen
Optionale Parameter. Geben Sie Zeichenfolgenvergleiche an. Wenn der Vergleich Null ist, tritt ein Fehler auf. Wenn der Vergleich weggelassen wird, bestimmt die Einstellung von Option Compare die Art des Vergleichs.
Der ?compare-Parameter ist auf Folgendes festgelegt:
Konstante
Wert
【beschreiben】
vbUseCompareOption
-1
Verwenden Sie die Anweisungseinstellung „Option Compare“, um einen Vergleich durchzuführen.
vbBinaryCompare
0
Führen Sie einen binären Vergleich durch.
vbTextCompare
1
Führen Sie einen Textvergleich durch.
vbDatabaseCompare
2
Nur für Microsoft Access: Führt einen Vergleich basierend auf Informationen in der Datenbank durch.
[Rückgabewert]
Gibt 0, 1, 2, -1 oder Null usw. zurück.
【Ausnahme/Fehler】
keiner
DescriptionInStr([start, ]string1, string2[, vergleichen])
Gibt das erste Vorkommen einer angegebenen Zeichenfolge innerhalb einer anderen Zeichenfolge zurück. Suchen Sie in der Zeichenfolge string1 nach string2, beginnend mit start. Wenn start weggelassen wird, wird ab dem Anfang von string1 gesucht. Wenn nicht gefunden, ist der Funktionswert 0.
Wenn
InStrreturn
string1 hat die Länge Null
0
string1 ist Null
Null
string2 hat die Länge Null
Start
string2 ist Null
Null
string2 nicht gefunden
0
Finden Sie string2 in string1
Standort gefunden
start > string2
0
【Beispiel】
In diesem Beispiel wird die InStr-Funktion verwendet, um das erste Vorkommen einer Zeichenfolge innerhalb einer anderen Zeichenfolge zu finden.
Dimmen Sie SearchString, SearchChar, MyPos
SearchString =XXpXXpXXPXXP ' Die gesuchte Zeichenfolge.
SearchChar = P ' Um nach der Zeichenfolge P zu suchen.
' Ab dem vierten Zeichen durch Textvergleich suchen. Der Rückgabewert ist 6 (Kleinbuchstabe p).
' Kleinbuchstabe p und Großbuchstabe P sind beim Textvergleich gleich.
MyPos = Instr(4, SearchString, SearchChar, 1)
' Beginnend mit dem ersten Zeichen, Suche mit binärem Vergleich. Der Rückgabewert ist 9 (Großbuchstabe P).
' Kleinbuchstabe p und Großbuchstabe P unterscheiden sich im binären Vergleich.
MyPos = Instr(1, SearchString, SearchChar, 0)
'Die Standardvergleichsmethode ist der binäre Vergleich (der letzte Parameter kann weggelassen werden).
MyPos = Instr(SearchString, SearchChar) ' Rückgabe 9.
MyPos = Instr(1, SearchString, W) ' Rückgabe 0.