asp 쿼리 xml의 코드는 페이지를 새로 고치지 않습니다. 쿼리 구현 방법은 다음과 같습니다.
<html>
<머리>
<title>페이지를 새로 고치지 않고 쿼리하는 방법</title>
<meta http-equiv=Content-Type content=text/html; charset=gb2312>
</head>
<스크립트 언어=자바스크립트>
<!--초기화, 데이터 아일랜드에 있는 데이터를 목록 상자에 로드-->
함수 로드인셀()
{
var Employeesid,employeelastname; //직원 ID와 직원 이름을 각각 저장합니다.
root=document.all.xmlemployees.childNodes.item(0); //첫 번째 요소 반환--employee
for(i=0;i<root.childNodes.length;i++){
getnode=root.childNodes(i); //직원의 자식 노드를 가져옵니다.
Employeeid=root.childNodes(i).getAttribute(emid);//직원 ID 가져오기
for(j=0;j<getnode.childNodes.length;j++){
Employeeinf=getnode.childNodes(j).nodeName;
if(직원inf==성){
Employeelastname=getnode.childNodes(j).text; //직원 이름 가져오기
}
}
//얻은 직원 ID와 직원 성을 선택에 씁니다.
if(직원ID!= && 직원성!=){
option1=document.createElement(옵션);
option1.text=직원 성;
option1.value=직원ID;
직원 목록.추가(옵션1);
}
}
}
<!--초기화, 데이터 아일랜드에서 데이터를 검색하여 목록 상자에 로드-->
함수 findemployee(){
var Employeeslastname,employeeid; //직원 이름과 직원 ID를 각각 저장합니다.
직원성=;
직원ID=;
findtext=window.findcontent.value; //검색 조건을 가져옵니다.
//목록 상자 지우기
직원수=employeelist.length
for(i=employeecount-1;i>=0;i--){
직원 목록.제거(i);
}
루트=window.xmlemployees.childNodes(0);
for(i=0;i<root.childNodes.length;i++){
getitem=root.childNodes(i); //직원의 자식 노드를 가져옵니다.
Employeeid=root.childNodes(i).getAttribute(emid) //직원 ID 가져오기
for(j=0;j<getitem.childNodes.length;j++){
if(getitem.childNodes(j).nodeName==성){
Employee_temp=getitem.childNodes(j).text;
if(employee_temp.indexOf(findtext)!=-1){ //일치하는 항목 찾기
Employee_temp; //이름이 일치하는 직원 찾기
}
}
}
//적격한 직원 정보를 선택 항목에 기록합니다.
if(직원ID!= && 직원성!=){
option1=document.createElement(옵션);
option1.value=직원ID;
option1.text=직원 성;
window.employeelist.add(option1);
직원ID=;
직원성=;
}
}
}
</script>
<body bgcolor=#FFFFFF 텍스트=#000000 onload=javascript:loadinsel()>
<테이블 너비=80% 테두리=1>
<tr>
<td> 쿼리 조건을 입력하세요:
<입력 유형=텍스트 이름=찾기 콘텐츠>
<입력 유형=버튼 이름=값 제출=찾기 onclick=javascript:findemployee()>
</td>
</tr>
<tr>
<td> 쿼리 결과:
<이름 선택=직원 목록>
</select>
</td>
</tr>
</table>
<?xml 버전=1.0 인코딩=gb2312?>
<%
servername=wyb '서버 이름
user=sa '사용자 이름
pw= '사용자 비밀번호
데이터베이스 이름=northwind '데이터베이스 이름
conn=server.CreateObject(adodb.connection) 설정
conn.Open DRIVER=SQL Server;SERVER=&서버 이름&;UID=&사용자&;pwd=&pw&;DATABASE=&데이터베이스 이름
rs=server.CreateObject(adodb.recordset) 설정
sql=직원 ID별로 직원 순서대로 직원 ID, 성을 선택하세요.
rs.SQL 열기,conn%>
<!--데이터베이스에 있는 정보를 데이터 아일랜드에 넣습니다-->
<xml id=xmlemployees>
<직원>
<%rs.eof가 아닌 동안 수행%>
<employeeiite emid=<%=rs(employeeid)%>>
<성><%=rs(성)%></성>
</employeeeitem>
<%rs.movenext%>
<%루프%>
</직원> </xml>
<%rs.닫기
rs=아무것도 설정하지 않음
%>
</body>
</html>
ASP의 instr() 함수를 사용하여 문자열에 지정된 문자열이 포함되어 있는지 검색
<%
희미한 wstr1,wstr2
wstr1=안녕하세요!
wstr2=o
instr(wstr1,wstr2)>0이면
response.write(&wstr2&가 &wstr1&에 존재함)
또 다른
response.write(&wstr1&에는 &wstr2&가 포함되어 있지 않습니다)
종료하면
%>
------
InStr 기능
------
InStr([시작, ]string1, string2[, 비교])
【파라미터】
InStr 함수의 구문에는 다음과 같은 매개변수가 있습니다.
부분
설명하다
시작
선택적 매개변수. 숫자 표현식의 경우 각 검색의 시작점을 설정합니다. 생략하면 첫 번째 문자 위치에서 시작됩니다. start에 Null이 포함되어 있으면 오류가 발생합니다. 비교 매개변수가 지정된 경우 시작 매개변수가 있어야 합니다.
문자열1
필수 매개변수. 검색할 문자열 표현식을 허용합니다.
문자열2
필수 매개변수. 검색할 문자열 표현식입니다.
비교하다
선택적 매개변수. 문자열 비교를 지정합니다. 비교가 Null이면 오류가 발생합니다. 비교를 생략하면 옵션 비교 설정에 따라 비교 유형이 결정됩니다.
?compare 매개변수는 다음과 같이 설정됩니다.
끊임없는
값
【설명하다】
vbUseCompareOption
-1
옵션 비교 문 설정을 사용하여 비교를 수행합니다.
vbBinary비교
0
이진 비교를 수행합니다.
vbTextCompare
1
텍스트 비교를 수행합니다.
vbDatabase비교
2
Microsoft Access의 경우에만 데이터베이스의 정보를 기반으로 비교를 수행합니다.
【반환 값】
0, 1, 2, -1 또는 Null 등을 반환합니다.
【예외/오류】
없음
DescriptionInStr([시작, ]string1, string2[, 비교])
다른 문자열 내에서 지정된 문자열이 처음 나타나는 것을 반환합니다. string1 문자열에서 start부터 string2를 검색합니다. start가 생략된 경우 string1의 처음부터 검색합니다. 찾을 수 없으면 함수 값은 0입니다.
만약에
InStrreturn
string1의 길이가 0입니다.
0
문자열1이 Null입니다.
널
string2의 길이가 0입니다.
시작
문자열2가 Null입니다.
널
문자열2를 찾을 수 없습니다
0
string1에서 string2 찾기
위치를 찾았습니다
시작 > 문자열2
0
【예】
이 예에서는 InStr 함수를 사용하여 다른 문자열 내에서 처음으로 나타나는 문자열을 찾습니다.
희미한 SearchString, SearchChar, MyPos
SearchString =XXpXXpXXPXXP ' 검색 중인 문자열입니다.
SearchChar = P ' 문자열 P를 검색합니다.
' 네 번째 문자부터 텍스트 비교로 검색합니다. 반환 값은 6(소문자 p)입니다.
' 텍스트 비교에서는 소문자 p와 대문자 P가 동일합니다.
MyPos = Instr(4, SearchString, SearchChar, 1)
' 첫 번째 문자부터 시작하여 이진 비교를 사용하여 검색합니다. 반환 값은 9(대문자 P)입니다.
' 소문자 p와 대문자 P는 이진 비교에서 다릅니다.
MyPos = Instr(1, SearchString, SearchChar, 0)
'기본 비교 방법은 이진 비교입니다(마지막 매개변수는 생략 가능).
MyPos = Instr(SearchString, SearchChar) ' 9를 반환합니다.
MyPos = Instr(1, SearchString, W) ' 0을 반환합니다.