ASP 프로 그래 밍 입문 진급(20):ADO 구성 요소 의 디 스 플레이 데이터 기록

ASP 를 배 우 는 만리 장정 이 곧 종점 에 도착 할 것 이다.ASP 의 ADO 구성 요 소 를 해결 할 때 까지 기 다 려 라.물론 이것 도 가장 중요 한 단계 이다.거의 앞의 모든 학습 은 이 최종 목적 을 위 한 것 이다.OK,다음은 상세 하고 체계적으로 하나씩 파악 하고 한 걸음 한 걸음 진 을 치고 각자 격파 하 겠 습 니 다.첫째,데이터 베 이 스 를 가지 고 있다 는 것 은 정적 페이지 와 동적 페이지 의 가장 큰 차 이 는 바로 데이터 베 이 스 를 사용 한 것 이다.WEB 프로그램 이 데이터 베 이 스 를 사용 하 는 것 과 사용 하지 않 는 우수 성 을 비교 하면 자세히 분석 하지 않 습 니 다.주요 정력 은 데이터 베 이 스 를 어떻게 사용 하 는 지,데이터 베 이 스 를 어떻게 능숙 하 게 활용 하 는 지,데이터 베 이 스 를 어떻게 유연 하 게 활용 하 는 지 등 입 니 다.그 중에서 조작 데이터 베 이 스 를 활용 하 는 것 은 주로 데이터 베이스 내용 을 표시,삽입,수정,업데이트,조회 와 삭제 합 니 다.물론 한 입 에 먹 을 수 있 는 것 도 아니 니 천천히 씹 고 소 화 를 이해 해 야 한다.물론 우선 중요 한 것 은 데이터 베 이 스 를 먼저 갖 는 것 이다.그렇지 않 으 면 모든 것 이 공론 이 니,며느리 가 쌀 없 이 밥 을 지 을 수 는 없 잖 아.일반적으로 우리 가 말 하 는 데이터 베 이 스 는 데이터베이스 파일 로 이 파일 은 일부 데이터베이스 관리 시스템(DBMS)에 의 해 만들어 진 것 이다.현재 일반적인 DBMS 는 흔히 듣 는 ACCESS,SQLSERVER,MYSQL,ORACLE 이다.물론 일반 개인 사이트 에서 소 규모 기업 은 ACCESS 를 사용 하기에 충분 하 다.조금 큰 것 은 같은 Microsoft 회사 의 SQL SERVER 나 MYSQL 을 사용 합 니 다.주의해 야 할 것 은 MYSQL 은 보통 다른 네트워크 프로 그래 밍 언어 인 PHP 와 완벽 하 게 결 합 됩 니 다.물론 더 큰 것 은 오 라 클 입 니 다.하하,PB 를 공부 할 때 SYBASE 데이터베이스,UNIX 시스템 의 Informix 데이터베이스 에 도 활 용 했 었 는데...DBMS 는 그야말로 소 털 처럼 많 았 다- -!그 나 저 나 지금 우 리 는 바로 ACCESS 를 사용 합 니 다.1.사용 이 간단 합 니 다.2.입문 파악 이 쉽다.3.이것 만큼 초학 에 적합 한 것 은 없다.모든 것 은 실제 조작 부터 시작 해 야 한다.1.ACCESS 데이터 베 이 스 를 열 고 새 데이터 베 이 스 를 선택 하여 cnbruce.mdb 라 고 명명 하고 전문 폴 더 database2 에 저장 합 니 다.새 데이터베이스 용기 에서'디자이너 로 표 만 들 기'를 두 번 클릭 하고 팝 업 된 표 1 창 에 필드 이름 을 입력 하 십시오.id",데이터 형식 은"자동 번호"를 선택 하고 위 도구 모음 에 있 는 열쇠 단 추 를 선택 하여 이 필드 를 주 키 로 설정 합 니 다.필드 계속 입력"cntitle",데이터 형식 선택"텍스트";NEXT 입력 필드"cncontent",데이터 형식 선택"비고";PS:비고 와 일반 유형의 텍스트 의 가장 큰 차 이 는 비고 가 삽입 할 수 있 는 필드 값 이 상대 적 으로 많다 는 것 입 니 다.이것 은 긴 글 을 삽입 할 때 특히 중요 합 니 다.필드 입력"cnauthor",데이터 형식 선택"텍스트";그리고 아래'일반'의'빈 문자열 허용'으로 전환 하여'예'를 선택 하 십시오.PS:이 표면 은 cnauthor 필드 의 값 은 비어 있 을 수 있 습 니 다.이것 은 폼 을 제출 할 때 일부 정 보 는 작성 하지 않 지만 데이터 베 이 스 를 정확하게 삽입 하 는 것 이 중요 합 니 다.마지막 입력 필드"cn"time",데이터 형식 은"날짜/시간"을 선택 하고"일반"의"기본 값"으로 계속 전환 합 니 다."now()"함수 끝 을 입력 하고"표 1"을"cnarticle"3 으로 저장 합 니 다.cnartile 표를 두 번 눌 러 서 첫 줄 을 작성 하 십시오."cntitle"입력"test","cncontent"입력"this is a test","cnauthor"cnbruce"를 입력 하면 시간 이 자동 으로 추 가 됩 니 다.완성!표를 닫 고 데이터 베 이 스 를 닫 습 니 다.2.데이터 베 이 스 를 구축 하여 OK 를 연결 합 니 다.데이터 베 이 스 는 이미 구축 되 었 고 한 줄 의 정보 내용 을 작 성 했 습 니 다.그렇다면 지금 필요 한 것 은 ASP 와 함께 이 줄 의 정 보 를 표시 하 는 것 이다.표시 하려 면 먼저 ASP 가 이 데이터베이스 파일 과 연결 되 어야 합 니 다.구체 적 으로 어떻게 만 듭 니까?아래 를 보다.1,conn.asp:주로 데이터베이스 파일 을 연결 하고 열 수 있 는 기능 을 시작 합 니 다.이 파일 은 단독으로 존재 하 는 것 을 권장 하 며,위 치 는 데이터 베 이 스 를 저장 하 는 폴 더 database 와 같은 물리 적 차원 입 니 다.
<%db_path = "database/cnbruce.mdb"Set conn= Server.CreateObject("ADODB.Connection")connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)conn.Open connstr%>db_path="database/cnbruce.mdb"는 말 할 것 도 없 이 데이터베이스 의 상대 경 로 를 하나의 변수 에 부여 하여 아래 에서 계속 호출 할 수 있 도록 합 니 다.Set conn=Server.CreateObject("ADODB.Connection")는 다른 구성 요소 와 마찬가지 로 ADO 연결 을 만 들 고 대상 conn 으로 받 아들 입 니 다.connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)는 데이터 베 이 스 를 여 는 구동 방법 인 OLEDB 와 어떤 데이터 베 이 스 를 여 는 연결(즉,데이터 베 이 스 를 여 는 경로)을 포함 한 연결 문자열 이 분명 합 니 다.다시 한 번 알려 드 려 야 할 것 은 FSO 가 파일,폴 더 에 대한 조작 이 든 ADO 가 데이터 베 이 스 를 조작 하 든 피 조작 파일 에 대한 획득 은 절대적 인 물리 적 주 소 를 얻 는 것 입 니 다.일반적인 상황 에서 Server.MapPath 방법 을 사용 하 는 것 이 좋 습 니 다.conn.Open connstr 마지막 대상 conn 은 연결 문자열 connstr 를 통 해 데이터베이스 연결 을 열 었 습 니 다.3.데이터베이스 내용 을 표시 하고 데이터 베 이 스 를 구축 하 며 데이터 베이스 와 의 연결 을 구축 합 니 다.아래 의 물 은 데이터 베이스 중의 내용 을 ASP 를 통 해 표시 하 는 것 입 니 다.2,showit.asp
<%Set rs=Server.CreateObject("ADODB.Recordset")sql="Select*from cnarticle"rs.Open sql,conn,1,1%><%if rs.EOF and rs.BOF thenresse.write("아직 글 이 없습니다")elseDo Until rs.EOFresponse.write("글 제목 은:"&rs("cntitle")response.write("
글 쓴 이 는"&rs("cnauthor")response.write("<%rs.close Set rs=Nothingconn.close set conn=Nothing%>이 페이지 를 간단하게 디 버 깅 합 니 다.의외 의 사고 없 이 데이터베이스 에 있 는 정 보 를 표시 할 수 있 을 것 이 라 고 믿 습 니 다.(PS:내 데이터베이스 에 두 줄 이 쓰 여 있 습 니 다)다음은 안 되 는 의 미 를 구체 적 으로 설명 하 겠 습 니 다.1,아무런 논란 이 없습니다.주로 conn.asp 를 호출 하 는 효과 입 니 다.이것 은 conn.asp 파일 을 설명 할 때 이미 알 고 있 습 니 다.2,Set rs=Server.CreateObject("ADODB.Recordset")ADO 구성 요 소 는 Connection 연결 외 에 Recordset 바 인 딩 기록 집(DW 로 ASP 를 한 사람 이 이제 고향 으로 돌아 가 는 느낌 이 든다 고 믿 습 니 다)당연히 rs 는 데이터베이스 시트 의 한 줄 을 형상 적 으로 상상 할 수 있 습 니 다.3,sql="Select*from cnarticle"표준 SQL 구조 화 조회 언어.간단 합 니 다.데이터 베 이 스 를 연결 하고 기록 집 도 연결 되 었 습 니 다.구체 적 으로 어떤 정보 가 필요 합 니까?즉,일부 기록 집합 을 선별 해 야 하지만 현재 사용 하 는 것 은 어떠한 조건 도 없 이 모든 것 을 추출 할 수 있다.4.rs.Open sql,conn,1,1 데이터 베이스 에 기 록 된 문 을 진정 으로 열 고 뒤의 매개 변 수 는 다음 과 같은 사이트 에서 얻 을 수 있 습 니 다.http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=2835,if rs.EOF and rs.BOF then 이 문장 에는 rs.EOF 와 rs.BOF,그리고 이들 의 논리 연산 and 가 포함 되 어 있다.rs.EOF 는 데이터베이스 테이블 에 도착 한 마지막 줄 을 표시 하고,rs.BOF 는 데이터베이스 테이블 에 도착 한 첫 줄 을 표시 합 니 다.전체 문장 은 현재 데이터베이스 의 마지막 줄 이 데이터베이스 테이블 의 첫 줄 이 라면 현재 데이터베이스 테이블 에 데이터 가 없다 는 것 을 확신 할 수 있다.6,Do Until rs.EOF...rs.MoveNext Loop 은 주로 DO LOOP 순환 문 입 니 다.그 중에서 순환 의 종료 조건 은 rs.EOF,즉 데이터베이스 시트 의 마지막 줄 입 니 다.그렇다면 이 조건 들 이 만족 하 는 허가 안에 구체 적 인 정 보 를 표시 하 는 것 이다.매번 순환 할 때마다 데이터베이스 테이블 의 한 줄 만 표시 할 수 있 습 니 다.다음 줄 을 계속 읽 으 려 면 rs.MoveNext 기능 이 정말 그렇습니다.7,rs("cn_title")등 은 주로 기록 이 집 중 된 특정 필드 의 정보 값 을 구체 적 으로 표시 합 니 다.간단 해.8.마지막 으로 자원 공간 을 방출 하여 기록 집합 연결 을 닫 고 데이터 베 이 스 를 닫 는 것 을 잊 지 마 세 요.넷 째,일부 특수 한 조건 1.데이터 베이스 표 정보의 표 시 는 보통 시간의 선후 에 따라 배열 되 고 자주 언급 하 는 시간의 상승 순서에 따라 배열 된다 는 것 을 알 지 못 했다.주의:시간 에 따라 오름차 순 으로 모든 데이터베이스 시트 에 시간/날짜 형식의 필드 가 있어 야 하 는 것 은 아 닙 니 다.자동 번호 의 필드 만 존재 하면 됩 니 다.이 필드 는 영원히 중복 되 지 않 고 순서대로 커지 기 때문이다.따라서 시간 상승 순 서 는 자동 번호 의 번호 수치 증가 에 따라 정렬 된다.물론 문제 의 관건 은 시간의 내림차 순 으로 배열 하 는 것 이다.즉,최신 내용 부터 보 여 주 는 것 이다.그럼 구체 적 으로 어떤 수술 이 필요 합 니까?간단 합 니 다.연결 문자열 을 약간 수정 합 니 다.sql="Select*from cnarticle"에서 sql="Select*from cnarticle order by cnid desc"그 중 order by cnid 는 cnid 필드,desc 가 내 려 갑 니 다.2.가끔 은 최신 또는 최신 몇 가지 정 보 를 추출 해 야 할 때 가 있 습 니 다.그러면 이것 은 구체 적 으로 어떻게 조작 합 니까?역시 연결 문자열 의 수정 은 sql="Select*from cnarticle order by cnid desc"sql 로 변경 추가="Select top 3*from cnarticle order by cnid desc"중 top 3 은 최신 세 가지 정보 내용 을 추출 한 것 을 나타 낸다.That's All.현재 하나의 글 시스템,뉴스 시스템 또는 메모 장 에 표 시 된 부분의 정수 내용 을 당신 은 이미 힘 들 이지 않 고 해결 하 였 습 니 다.남 긴 것 은:글 의 형식 이 잘못 표시 되 었 을 수도 있 습 니 다.예 를 들 어 리 턴,빈 칸 이 표시 되 지 않 으 면 받 아들 인 데이터베이스 시트 의 값ASP 의 몇 가지 연습 에서 언급 된 것 입 니 다.을 처리 하 는 것 도 배 워 야 합 니 다.글 은 항상 데이터 베 이 스 를 열 어 정 보 를 입력 해 서 는 안 된다.그러면 ASP 로 데 이 터 를 라 이브 러 리 에 삽입 하 는 방법 을 계속 배 워 야 한다.그리고 문장 이 많아 서 한 페이지 를 보 는 것 도 귀 찮 지 않 습 니까?그럼 페이지 기술 도 배 워 야 돼...................................................................

좋은 웹페이지 즐겨찾기