ASP 프로그래밍의 매우 유용한 20가지 예 (1)
1. ASP를 사용하여 웹사이트의 가상 물리적 경로를 결정하는 방법
답: Mappath 방법을 사용하십시오: < %= Server.MapPath(/)% >
2. 사용자가 사용하고 있는 브라우저를 어떻게 알 수 있나요?
답변: 요청 개체 방법을 사용하십시오.
<%
strBrowser=Request.ServerVariables(HTTP_USER_AGENT)
Instr(strBrowser,MSIE) < > 0이면
Response.redirect(formSIEOnly.htm)
또 다른
Response.redirect(ForAll.htm)
종료 조건
%>
3. 일일 평균 재방문자 수 계산 방법
답: 해결책
< % startdate=DateDiff(d,Now,01/01/1990)
strdate< 0이면 startdate=startdate*-1
avgvpd=Int((usercnt)/startdate) % >
결과 표시
< % 응답.쓰기(avgvpd) % >
그게 다입니다.이 페이지는 1998년 11월 10일부터 조회되었습니다.
4. 임의의 이미지를 표시하는 방법
< % 희미한 p,ppic,dpic
피픽=12
무작위화하다
p=Int((ppic*rnd)+1)
dpic=graphix/randompics/&p&.gif
%>
보여주다
< img src=< %=dpic% > >
5.이전 페이지로 돌아가는 방법
답변: < a href=< %=request.serverVariables(Http_REFERER)% > >이전 페이지< /a >
또는 다음과 같은 그림을 사용하십시오. < img src=arrowback.gif target='_blank'> 서버가 실행 중이고 서버에 대화 상자가 표시될 수 있으면 프로그램이 실행되기 전에 누군가 확인을 클릭할 때까지 기다려야 합니다. 일반적으로 서버는 보호되지 않으므로 Microsoft에서는 이 기능을 비활성화하고 무작위로 권한이 없다고 알려주어야 합니다(하하). 그러나 ASP와 클라이언트 스크립트를 조합하면 다음과 같은 대화 상자가 표시될 수 있습니다.
<%yourVar=테스트 대화상자%>
가벼운 비가 왔습니다
11. 소스 코드를 다른 사람이 보지 못하도록 보호할 수 있는 방법이 있습니까?
답변: ASP 스크립트와 클라이언트측 javascript/vbscript 스크립트를 암호화할 수 있는 Microsoft Windows 스크립트 인코더를 다운로드할 수 있습니다. . . 그러나 클라이언트가 암호화된 후에는 ie5에서만 실행할 수 있습니다. 서버 측 스크립트가 암호화된 후에는 서버에 스크립트 엔진 5가 설치되어 있는 경우에만 실행할 수 있습니다(ie5만 설치하면 됩니다).
12.한 ASP 파일에서 다른 ASP 파일로 쿼리 문자열을 어떻게 전송할 수 있나요?
답변: 이전 파일에 다음 문장을 추가합니다: Response.Redirect(second.asp? & Request.ServerVariables(QUERY_STRING))
13.global.asa 파일이 항상 작동하지 않나요?
답변: Global.asa는 웹 디렉터리가 웹 애플리케이션으로 설정된 경우에만 유효하며, global.asa는 웹 애플리케이션의 루트 디렉터리에서 유효합니다. IIS4는 인터넷 서비스 관리자를 사용하여 응용 프로그램 설정을 지정할 수 있습니다. htm 파일이 asp 파일과 같은 스크립트 코드를 실행하도록 하려면 어떻게 해야 합니까?
14. asp 파일과 같은 스크립트 코드를 실행하도록 htm 파일을 만들려면 어떻게 해야 합니까?
답변: 인터넷 서비스 관리자 -> 기본 웹 사이트 선택 -> 마우스 오른쪽 버튼 -> 메뉴 속성 -> 홈 디렉터리 -> 애플리케이션 설정(애플리케이션 설정) -> 버튼 클릭 구성 -> 앱 매핑 -> 버튼 클릭 추가 -> 실행 파일 찾아보기 /WINNT/SYSTEM32/INETSRV/ASP.DLL EXTENSION을 선택하고 htm 메서드 제외를 입력한 다음 PUT.DELETE를 입력하고 모든 것을 확인합니다. 그러나 htm도 asp.dll에 의해 처리되므로 효율성이 감소한다는 점은 주목할 가치가 있습니다.
15.구성요소 등록방법
답변: 두 가지 방법이 있습니다.
첫 번째 방법: DLL을 수동으로 등록합니다. 이 방법은 IIs 3.0부터 IIs 4.0 및 기타 웹 서버까지 사용되었습니다. 명령줄 모드에서 실행하고 DLL이 포함된 디렉터리를 입력한 후 regsvr32 component_name.dll을 입력해야 합니다. 예를 들어 c:/temp/regsvr32 AspEmail.dll은 dll의 특정 정보를 등록합니다. 서버의 레지스트리. 그런 다음 구성 요소를 서버에서 사용할 수 있지만 이 접근 방식에는 결함이 있습니다. 이 방법을 사용하여 구성 요소를 등록한 후 구성 요소는 dll을 실행할 수 있는 권한을 갖도록 NT 익명 계정을 설정해야 합니다. 특히 일부 구성 요소는 레지스트리를 읽어야 하므로 이 구성 요소 등록 방법은 서버에 MTS가 없는 경우에만 사용됩니다. dll을 등록 취소하려면 다음을 사용하세요. regsvr32 /u aspobject.dll example c:/temp/regsvr32 / uaneiodbc.dll
두 번째 방법: MTS(Microsoft Transaction Server) 사용 MTS는 IIS 4의 새로운 기능이지만 크게 향상된 기능을 제공합니다. MTS를 사용하면 권한이 있는 사용자만 구성 요소에 액세스할 수 있도록 지정하여 웹 사이트 서버의 보안 설정을 크게 향상시킬 수 있습니다. MTS에 구성요소를 등록하는 단계는 다음과 같습니다.
1) IIS 관리 콘솔을 엽니다.
2) 트랜잭션 서버를 확장하고 설치된 pkgs를 마우스 오른쪽 버튼으로 클릭한 후 새 패키지를 선택합니다.
3) 빈 패키지 만들기를 클릭하세요.
4) 패키지 이름을 지정합니다.
5) 관리자 계정을 지정하거나 대화형을 사용합니다(관리자를 사용하여 서버에 자주 로그인하는 경우).
6) 이제 방금 생성한 패키지 아래의 확장된 구성 요소를 마우스 오른쪽 버튼으로 클릭합니다. 새 구성 요소를 선택한 다음 구성 요소를 선택합니다.
7) 새 구성요소 설치를 선택합니다.
.dll 파일을 찾아 다음을 선택하여 완료하세요.
이 개체를 삭제하려면 해당 아이콘을 선택한 다음 삭제를 선택하면 됩니다.
참고: 두 번째 방법에 특별한 주의를 기울이십시오. 이는 매번 시스템을 다시 시작할 필요 없이 작성한 구성 요소를 디버깅하는 가장 좋은 방법입니다.
16. ASP 및 Access 데이터베이스 연결:
<%@ 언어=VBscript%>
<%
희미한 연결, mdb파일
mdbfile=server.mappath(데이터베이스 이름.mdb)
conn=server.createobject(adodb.connection) 설정
conn.open 드라이버={microsoft 액세스 드라이버(*.mdb)};uid=admin;pwd=데이터베이스 비밀번호;dbq=&mdbfile
%>
17. ASP 및 SQL 데이터베이스 연결:
<%@ 언어=VBscript%>
<%
희미한 콘
conn=server.createobject(ADODB.connection) 설정
con.open PROVIDER=SQLOLEDB;DATA SOURCE=SQL 서버 이름 또는 IP 주소;UID=sa;PWD=데이터베이스 비밀번호;DATABASE=데이터베이스 이름
%>
레코드세트 개체를 만듭니다.
<%
rs=server.createobject(adodb.recordset) 설정
rs.open SQL 문,conn,3,2
%>
18. 일반적인 SQL 명령을 사용하는 방법:
(1) 데이터 기록 심사:
sql=select * 필드 이름 = 필드 값인 데이터 테이블에서 필드 이름별 순서 [desc]
sql=select * 필드 이름이 '%field value%'와 같은 데이터 테이블에서 필드 이름순으로 정렬됨 [desc]
sql=필드 이름순으로 필드 이름이 정렬된 데이터 테이블에서 * 상위 10개 선택 [desc]
sql=select * 필드 이름이 ('값 1', '값 2', '값 3')인 데이터 테이블에서
sql=select * 값 1과 값 2 사이의 필드 이름이 있는 데이터 테이블에서
(2) 데이터 기록 업데이트:
sql=업데이트 데이터 테이블 세트 필드 이름=필드 값 여기서 조건식
sql=업데이트 데이터 테이블 세트 필드 1=값 1, 필드 2=값 2...필드 n=값 n 여기서 조건식
(3) 데이터 기록 삭제:
sql=조건식이 있는 데이터 테이블에서 삭제
sql=데이터 테이블에서 삭제(데이터 테이블의 모든 레코드 삭제)
(4) 데이터 기록 추가:
sql=데이터 테이블(필드 1, 필드 2, 필드 3...) 값에 삽입 (값 1, 값 2, 값 3...)
sql=insert into target data table select * from 소스 데이터 테이블(소스 데이터 테이블의 레코드를 타겟 데이터 테이블에 추가)
(5) 데이터 기록 통계 기능:
AVG(필드 이름)은 테이블 열 평균을 파생합니다.
COUNT(*|필드 이름)은 데이터 행 수를 세거나 특정 열에 값이 있는 데이터 행 수를 계산합니다.
MAX(필드 이름)은 테이블 열의 최대값을 가져옵니다.
MIN(필드 이름)은 테이블 열의 최소값을 가져옵니다.
SUM(필드 이름)은 데이터 열의 값을 더합니다.
위 함수를 참조하는 방법:
sql=조건식이 있는 데이터 테이블에서 별칭으로 합계(필드 이름)를 선택합니다.
rs=conn.excute(sql) 설정
통계값을 얻으려면 rs(별칭)를 사용하고, 다른 기능에 대해서도 위와 동일한 방법을 사용합니다.
(5) 데이터 테이블 생성 및 삭제:
CREATE TABLE 데이터 테이블 이름(필드 1 유형 1(길이), 필드 2 유형 2(길이)...)
예: CREATE TABLE tab01(이름 varchar(50),datetime 기본값())
DROP TABLE 데이터 테이블 이름(데이터 테이블 영구 삭제)
19. 레코드세트 객체의 메소드:
rs.movenext는 레코드 포인터를 현재 위치에서 한 줄 아래로 이동합니다.
rs.moveprevious는 레코드 포인터를 현재 위치에서 한 줄 위로 이동합니다.
rs.movefirst는 레코드 포인터를 데이터 테이블의 첫 번째 행으로 이동합니다.
rs.movelast는 레코드 포인터를 데이터 테이블의 마지막 행으로 이동합니다.
rs.absoluteposition=N은 레코드 포인터를 데이터 테이블의 N행으로 이동합니다.
rs.absolutepage=N 레코드 포인터를 페이지 N의 첫 번째 행으로 이동합니다.
rs.pagesize=N은 각 페이지를 N개의 레코드로 설정합니다.
rs.pagecount는 페이지 크기 설정에 따라 총 페이지 수를 반환합니다.
rs.recordcount는 총 레코드 수를 반환합니다.
rs.bof는 레코드 포인터가 데이터 테이블의 시작 부분을 초과하는지 여부를 반환합니다. true는 예, false는 아니오를 의미합니다.
rs.eof는 레코드 포인터가 데이터 테이블의 끝을 초과하는지 여부를 반환합니다. true는 예, false는 아니오를 의미합니다.
rs.delete는 현재 레코드를 삭제하지만 레코드 포인터가 아래쪽으로 이동하지 않습니다.
rs.addnew는 데이터 테이블 끝에 레코드를 추가합니다.
rs.update는 데이터 테이블 레코드를 업데이트합니다.
20개의 레코드세트 객체 메소드
개방형 방식
레코드세트.오픈 소스,ActiveConnection,CursorType,LockType,옵션
원천
Recordset 개체는 Source 속성을 통해 Command 개체에 연결할 수 있습니다. Source 매개변수는 명령 개체 이름, SQL 명령, 지정된 데이터 테이블 이름 또는 저장 프로시저일 수 있습니다. 이 매개 변수를 생략하면 시스템은 Recordset 개체의 Source 속성을 사용합니다.