ASP 학습 단계:
1. 5개 객체 Request, Response, Session, Server, Application
2. 두 개의 데이터베이스 구성 요소 Adodb.Recordset Adodb.Connection
3. 양식 데이터에서 가져오기 위한 Request.From(양식 이름)
4. Request.QueryString(Url 매개변수) Url 매개변수 가져오기
5. index.asp?act=저장
6. 요청.쿼리문자열(행위)
1. 요청
Request.Cookies(Cookie) 쿠키 가져오기 쿠키는 일반적으로 사용자 정보를 저장하는 데 사용되며 세션도 동일한 유형을 가집니다. 세션은 일반적으로 사용자의 하드 디스크에 저장됩니다. , 메소드를 직접 생략할 수 있습니다. Request(매개변수 이름)를 사용하면 From QueryString Cookies를 사용하여 Request 값이 거의 완료됩니다.
2. 대응
응답.브라우저에 출력 쓰기
응답.리디렉션 리디렉션
Response.End는 브라우저에 대한 출력을 중지합니다.
Response.Cookies는 클라이언트에 쿠키를 씁니다.
Response.Cookies(CookieName) = 테스트
Responsp.Cookies(CookieName).Domain=china228.com 이렇게 작성하면 모든 China228.com 도메인 이름에 대해 Request.Cookies(CookieName)을 사용하여 얻을 수 있습니다.
3. 세션
Session(SessionName) = 세션에 정보 저장
If Session(SessionName) <> Then Session이 존재하는지 확인하는 것은 일반적으로 Session(SessionName) = Clear Session을 확인하는 데 사용됩니다.
Session.Abandon은 모든 세션을 지웁니다.
Session.TimeOut = 100 세션 만료 시간 단위를 초로 설정합니다.
세션은 서버에 저장됩니다. 쿠키는 사용자의 하드 디스크에 저장됩니다. 세션이 다시 시작되면 프로세스 풀은 사라지고 강제로 지우는 프로그램을 작성하지 않으면 더 이상 쿠키가 생성되지 않습니다.
4. 서버
Server.Mappath는 가상 경로를 실제 경로로 변환합니다. 프로그램이 C 드라이브에 있으면 path = Server.Mappath(/)를 사용합니다. 이는 루트 디렉터리를 기반으로 하는 path = c:/와 동일합니다.
Server.CreateObject는 일반적으로 사용되는 등록 구성 요소입니다. Server.CreateObject(Adodb.RecordSet)는 데이터베이스 구성 요소를 등록합니다.
5. Application은 Session과 동일하며, Session은 개별 사용자 정보를 저장한다는 점입니다.
Application(Site) = Http://www.webjx.com 사이트 내의 모든 파일이 이 Application을 호출할 수 있는 한, 2차 도메인 이름은 이 Application을 호출할 수 없지만 쿠키를 사용하여 사용 가능한 도메인 이름을 설정합니다.
================================================= =====
6. Adodb.Connection 데이터베이스에 연결하려면 먼저 Conn 개체를 등록합니다. Set Conn = Server.CreateObject(Adodb.Connection) //Server 개체의 CreateObject 메서드를 사용한 다음 Connection의 open 메서드를 사용하여 데이터베이스에 연결합니다. Conn.Open 공급자=Microsoft.Jet.OLEDB .4.0;데이터 원본=&Server.Mappath(Date.mdb) Server.Mappath(Date.mdb)는 현재 디렉터리 아래의 Date.Mdb입니다. 일반적으로 Conn.asp에 넣습니다.
<%
희미한 Conn, ConnStr
Conn = Server.CreateObject(Adodb.Connection) 설정
ConnStr = 공급자=Microsoft.Jet.OLEDB.4.0;데이터 원본=&Server.Mappath(Date.mdb)
Conn.Open ConnStr
%>
Dim은 변수를 정의하는 것이고, asp는 사용하기 전에 정의해야 하는 C#, Java 등과 달리 약한 유형의 언어이므로 정의할 필요가 없습니다.
실행 메서드 Conn.Execute(Sql)는 SQL 문을 실행합니다. Conn.Execute(Insert Into Tablename(1,2,)Values(1,2))
Conn.Close는 객체 삽입 데이터 업데이트 수정 데이터 삭제 삭제 선택 쿼리를 닫습니다.
7. Adodb.Recordset은 등록된 개체인 레코드 세트를 반환합니다. Set Rs = Server.CreateObject(Adodb.Recordset) 이 rs는 Com 구성 요소이므로 직접 정의할 수 있습니다. (즉, deiphl C++ Dll을 사용하여 작성, ASP 자체에서 구현할 수 없는 일부 기능)은 ASP의 내장 개체가 아니므로 개체를 등록해야 합니다.
그런 다음 Open 메서드를 사용하여 레코드 세트를 엽니다. Rs.Open Select * From TableName,Conn,1,3 Rs.Open Sql 문,Conn object,1,3(1,3 매개 변수는 나중에 설명합니다.) Sql 문은 다음과 같습니다. 일반적으로 쿼리문 Conn 개체는 위의 Connection에 의해 열린 데이터베이스 개체입니다.
1 데이터베이스의 커서 유형을 엽니다.
3 이 파라미터를 1로 변경하면 해당 라이브러리를 조작, 업데이트, 삭제할 수 없습니다(Rs.Addnew, Rs.Update, Rs.Delete는 사용할 수 없습니다). 2로 변경하면 단독 형태로 열립니다. (사용자가 수정하는 경우) 라이브러리에 접근하면 데이터 일관성을 유지하기 위해 라이브러리가 잠깁니다.)
3. 삭제, 수정, 업데이트, 추가를 포함하여 라이브러리에 대한 모든 작업을 수행할 수 있습니다.
여기서는 일반적으로 두 가지 유형을 사용합니다. 목록 페이지를 사용할 때는 라이브러리를 작동할 필요가 없기 때문에 Rs.Open Sql,Conn,1,1. Rs.Open Sql,Conn,1,3 Rs를 사용합니다. .Bof는 데이터의 첫 번째 부분인 경우 True를 반환하고, 그렇지 않은 경우 Rs.Fof는 데이터의 마지막 부분인 경우 True를 반환하고, 그렇지 않으면 False를 반환합니다. rs.eof인 경우 이를 사용하여 데이터베이스에 레코드가 있는지 확인할 수 있습니다. rs.bof는 현재 커서가 첫 번째 항목도 마지막 항목도 아닌 경우 레코드가 없음을 의미합니다. rs.eof가 레코드가 있음을 의미하면 루프를 사용하여 Rs를 출력합니다. Conn과 동일하게 이해되며 변수입니다.
Rs = Server.CreateObject(Adodb.Recordset) 설정
Rs.Open SQL, Conn,1,1
If Not Rs.Eof Then 레코드 세트의 끝 부분에 없으면 레코드가 있음을 의미합니다.
레코드 세트가 루프에서 벗어날 때까지 Do While Not Rs.Eof
응답.쓰기 Rs(필드 이름)
Rs.MoveNext 커서가 아래로 이동합니다.
고리
종료 조건
Rs.Close //객체 등록 취소
Rs = 없음 설정 //리소스 해제
ASP는 약한 형식의 수량 개체이므로 형식을 정의할 필요가 없습니다.
C#이라면 그게 다야
int i; string str; asp는 희미한 i입니다. str과 asp는 초기값을 할당할 수 없는 변수를 정의합니다.
C# int i = 1;
aspdimii=1
포인터 이동에 대해 이야기해 보겠습니다. (위 커서는 포인터여야 하며 커서는 ASP가 아닌 C 언어에 있습니다.)
Rs.MoveNext 한 줄 아래로 이동
Rs.MovePrevious 한 줄 위로 이동
Rs.Movefirst 첫 번째 항목으로 이동
Rs.MoveLast 마지막 항목으로 이동
Rs.Absoluteposition = n은 레코드 포인터를 n번째 행으로 이동합니다.
일반적으로 사용되는 것은 Rs.MoveNext입니다.
ASP 페이징의 여러 메서드 속성에 대해 이야기
Rs.Pagesize = n 페이지당 N개의 데이터 표시
Rs.absolutepage = n은 레코드 포인터를 N 페이지의 첫 번째 데이터로 이동합니다.
Rs.RecordCount 레코드 세트의 총 레코드 수입니다.
Rs.PageCount 레코드 세트의 총 페이지 수입니다.
<%
희미한 Conn, ConnStr
Conn = Server.CreateObject(Adodb.Connection) 설정
ConnStr = 공급자=Microsoft.Jet.OLEDB.4.0;데이터 원본=&Server.Mappath(Date.mdb)
Conn.Open ConnStr
Rs = Server.CreateObject(Adodb.Recordset) 설정
Rs.Open SQL, Conn,1,1
페이지 크기 = 20
Rs.PageSize = PageSize '페이지당 20개의 항목 표시
curpage = Request.QueryString(Page) '현재 페이지 번호를 가져옵니다.
curpage = Or IsNumeric(curpage) Or (curpage-Rs.pagecount) > 0이면
'curpage가 비어 있거나 숫자 유형이 아니거나 curpage가 총 숫자보다 큰 경우
커피지=1
'그러면 커페이지는 1과 같습니다.
종료 조건
Rs.absolutepage = curpage '현재 레코드세트 페이지 설정
나는=1
If Not Rs.Eof Then 레코드 세트의 끝 부분에 없으면 레코드가 있음을 의미합니다.
Do While Not Rs.Eof 및 i < PageSize 데이터 세트의 마지막 레코드이거나 i가 Rs.PageSize보다 큰 경우 종료됩니다.
응답.쓰기 Rs(필드 이름)
i = i + 1 i + 1 매 루프마다 한 번씩
Rs.MoveNext 포인터가 아래로 이동합니다.
고리
종료 조건
%>
<%if curpage=1이면%>
첫 페이지
<%다른%>
<a href=?page=1>홈페이지</a>
<%다음 경우 종료%>
<%if curpage=1이면%>
이전 페이지
<%다른%>
<a href=?page=<%=curpage-1%>>이전 페이지</a>
<%다음 경우 종료%>
<%if rs.pagecount<curpage+1 then%>
다음 페이지
<%다른%>
<a href=?page=<%=curpage+1%>>다음 페이지</a>
<%다음 경우 종료%>
<%if rs.pagecount<curpage+1 then%>
마지막 페이지
<%다른%>
<a href=?page=<%=rs.pagecount%>>마지막 페이지</a>
<%다음 경우 종료%>
curpage는 위의 Reqeust.Querystring을 사용하여 얻은 현재 페이지입니다.
첫 페이지:
이는 현재 페이지가 첫 번째 페이지인지 여부에 따라 결정됩니다. 즉, 현재 페이지가 첫 번째 페이지(즉, 홈 페이지)이면 링크 없이 홈페이지라는 단어가 표시됩니다. 홈페이지로 바로 이동합니다.
이전 페이지:
현재 페이지가 첫 번째 페이지인 경우 링크는 이전 페이지로 연결됩니다. 여기서는 <%=curpage-1%>를 사용합니다. 이는 현재 페이지 번호에서 1을 빼는 것을 의미합니다. 이전 페이지.
다음 페이지:
여기에서 비교를 위해 rs.pagecount 속성을 사용해야 합니다. 총 페이지 수가 현재 페이지 수에 1을 더한 것보다 작으면 이는 마지막 페이지이고 그렇지 않으면 링크가 유효하지 않음을 의미합니다. 다음 페이지로.
마지막 페이지:
다음 페이지와 동일한 함수는 마지막 페이지일 때 링크가 유효하지 않다고 판단하고, 그렇지 않으면 현재 페이지를 rs.pagecount(총 페이지 수)로 지정합니다.
<%
Rs.Close //객체 등록 취소
Rs = 없음 설정 //리소스 해제
%>
Rs.Addnew 새 레코드를 추가하려면 열려 있는 데이터 세트가 1,3이어야 합니다.
Rs = Server.CreateObject(Adodb.Recordset) 설정
Sql = 선택 * Tealename에서
Rs.Open SQL, Conn,1,3
Rs.Addnew()는 레코드세트의 끝에 레코드를 추가합니다.
Rs(필드명 1) = 값 1
Rs(필드명 2) = 값 2
Rs(필드명 3) = 값 3
Rs.Update()는 데이터베이스 변경 사항을 업데이트합니다.
Rs.Close
Rs=아무것도 설정하지 않음
%>
Rs.업데이트 데이터 업데이트
Rs = Server.CreateObject(Adodb.Recordset) 설정
Sql = Select * From Tealename Where id = 1 'ID가 1인 데이터 수정
Rs.Open SQL, Conn,1,3
Rs (업데이트할 필드 이름 1) = 업데이트된 값 1
Rs.Update()는 데이터베이스 변경 사항을 업데이트합니다.
Rs.Close
Rs=아무것도 설정하지 않음
Rs.삭제 삭제
Rs = Server.CreateObject(Adodb.Recordset) 설정
Sql = Select * From Tealename Where id = 1 'ID가 1인 데이터를 삭제합니다.
Rs.Open SQL, Conn,1,3
Rs.Delete() '현재 레코드를 삭제하지만 포인터가 아래쪽으로 이동하지 않으므로 여러 개의 데이터를 삭제하려면 루프를 사용해야 합니다.
Rs.Close
Rs=아무것도 설정하지 않음
두 가지 주요 데이터베이스 연산 객체의 속성에 대한 강의가 완료되었습니다.