1 / 31

Active Server Pages

Seoul Education & Science Research Institue. Active Server Pages. 정 영 식. nurunso@comedu.knue.ac.kr http://nurunso.pe.kr. 제 5 장 : 게시판 만들기. ODBC 설정. Write. List. Search. Read. 1. ODBC 설정. 제어판  ODBC 데이터 관리자. 1. ODBC 설정. 시스템 DSN 선택. 1. ODBC 설정. DB Driver 선택. 1. ODBC 설정.

derora
Download Presentation

Active Server Pages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seoul Education & Science Research Institue Active Server Pages 정 영 식 nurunso@comedu.knue.ac.kr http://nurunso.pe.kr

  2. 제5장 : 게시판 만들기 • ODBC 설정 • Write • List • Search • Read

  3. 1. ODBC 설정 • 제어판  ODBC 데이터 관리자 1. ODBC 설정

  4. 시스템 DSN 선택 1. ODBC 설정

  5. DB Driver 선택 1. ODBC 설정

  6. DSN 설정 1. ODBC 설정

  7. Database 선택 1. ODBC 설정

  8. ODBC 설정 완료 1. ODBC 설정

  9. 2. Write • 게시판 구조 글 쓰기 List.asp Write_form.asp 검색 Search.asp DB 저장 쓰기 Write.asp 내용 Read.asp 저장 확인 Write_ok.asp 2. Write

  10. Write_form.asp • 컨트롤 이름 Writer, email, home, subject, content • 글 올리기 : write.asp로 이동 2. Write

  11. DB 연결 • Set DbCon = Server.CreateObject("ADODB.Connection") • DbCon.Open(“board”) • SQL문 작성 • DbCon.Execute sql • DbCon.Close 2. Write

  12. 입력된 값 얻기 • subject = Request("subject") • writer = Request("writer") • content = Request("content") • email= Request("email") • home=Request("home") • passwd = LCase(Request("passwd")) • today = left(now(), 16) 2. Write

  13. SQL문 작성 1 • sql="INSERT INTO repute (num,subject,writer,email,home,visited, today,passwd,content) VALUES" • sql=sql& "(" & MaxNO & "" • sql=sql & ",'" & subject & "'" • sql=sql & ",'" & writer & "'" • sql=sql & ",'" & email & "'" 2. Write

  14. SQL문 작성 2 • sql=sql & ",'" & home & "'" • sql=sql & "," & 0 & "" • sql=sql & ",'" & today & "'" • sql=sql & ",'" & passwd & "'" • sql=sql & ",'"&content&"')" • DbCon.Execute sql 2. Write

  15. DB 연결 종료 및 이동 • DbCon.Close • Set DbCon=Nothing • Response.Redirect "write_ok.htm" 2. Write

  16. 3. List.asp • DB 연결 • Set Conn = Server.CreateObject("ADODB.Connection") • Conn.Open ("board") • Set RS = Server.CreateObject("ADODB.RecordSet") • RS.Open ("Select * From repute Order By num Desc"), Conn, 1, 1 3. list

  17. 새 글 표시 • <%if DateDiff("h",RS("today"),Now) < 24 then %> • 새 메시지 • <%End If%> • <%= RS("num") %> 3. list

  18. Read.asp로 이동 • 제목 클릭 시 read.asp로 이동 <a href="read.asp?page = <%=CurrentPage%> & no = <%=RS("num")%> "> <%=RS("subject")%> </a> 3. list

  19. List.asp 4 • Paging 용어 PageSize : 한 번에 뿌려줄 레코드 수 (기본:10) pageCount : 전체 레코드 수 AbsolutePage : 뿌려 줄 페이지의 위치 • 사용 예 전체 레코드 수 : 33개일 때 PageSize : 10으로 설정하면 PageCount는 4, 첫 페이지로 이동 시 AbsolutePage =1로 설정 3. list

  20. Paging 1 • Paging 실제 1 • page = Request("page") • If page="" or page < "1" then • CurrentPage=1 • Else • CurrentPage=CInt(page) • End If 3. list

  21. Paging 2 • Paging 실제 2 • If RS.BOF and RS.EOF then • CurrentPage=0 • Else • RS.AbsolutePage = CurrentPage • End If 3. list

  22. 레코드 수 • 전체 레코드 수 totalRecord = RS.RecordCount • 현재 페이지의 레코드 수 Do Until RS.EOF OR i > Rs.PageSize 3. list

  23. Email 연결 • Email 연결 • <% If RS("email") <> "" then %> • <a href=mailto:<%= RS("email") %>> • <%End If%> • <%=RS("writer")%></a> 3. list

  24. 4. Read • 제목 클릭 시 read.asp로 이동(list.asp) <a href="read.asp?page= <%=CurrentPage%> & no= <%=RS("num")%> "> <%=RS("subject")%> </a> • 변수 설정 Page = request(“page”) No = request(“no”) 4. Read

  25. Visited • 조회 수 증가 • sqlstmt = "UPDATE repute SET visited=visited+1 WHERE num=" & no • DbCon.Execute sqlstmt • 조회 수 표시 • sqlstmt = "SELECT * FROM repute WHERE num =" & no • Set Result = DbCon.Execute(sqlstmt) 4. Read

  26. List.asp로 이동 • <a href="list.asp?page=<%=page%>"> • <imgsrc="../img/list.gif" alt=목록 border=0> • </a> 4. Read

  27. 전후 글 이동 1 • sqlstmt = "select MAX(num) from repute where num <" & no • set rsd = DbCon.Execute(sqlstmt) • prevnum = rsd(0) • sqlstmt = "select MIN(num) from repute where num >" & no • set rsd = DbCon.Execute(sqlstmt) • nextnum = rsd(0) 4. Read

  28. 전후 글 이동 2 • <%if IsNull(prevnum) then%> • <img src=../img/back.gif border=0 alt=“글없음"> • <%else%> • <a href=read.asp?page=<%=page%> • &no=<%=prevnum%>> • <img src=../img/back.gif border=0 alt="이전”> • </a> • <%end if%> 4. Read

  29. 5. Search • Keyfield • <select name="keyfield" size="1"> • <option value="subject">제목</option> • <option value="content">내용</option> • <option value="writer">작성자</option> • <option value="email">E-Mail</option> • </select> 5. Search

  30. Keyword • Keyword 얻기 • <input type="text" size="30" maxlength="30" name="keyword"> • <input type="submit" value="검색"> • Keyword 검색 Select * From repute Where subject Like '%양심%' 5. Search

  31. 전후 글 이동 • <a href = "search.asp? • page = <% =CurrentPage+1%> • & keyfield = <% =keyfield%> • & keyword = <% =keyword%>"> • 이전 글 • </a> 5. Search

More Related