▶ 뭉충닷컴
 
mungchung.com login
Site Search
My Space
주절주절...
공부방
쥔장소개
Board
자유게시판
유용한 정보
자료실
Programming
강좌 & Articles
Spring 3.0
프로그래밍 Tip
   -ASP
   -PHP
   -JavaScript
   -HTML
   -Java/JSP
   -Database
   -Crystal Report
   -Visual Basic
   -이클립스
   -리눅스
   -기타
Windows API (VB)
Spread Sheet 7.0
컴퓨터활용 Tip
Other things
StarCraft 전략
StarCraft 문서
김용(金庸)
Son Q & Dieda

Tabular Data Control 기초 다지기 3

조회 수 14491 추천 수 0 2005.09.25 05:09:51

DB를 이용한 데이타 출력 확장 - 로딩 메시지 보이기
이제! 지금까지 배운것을 확장해보자! 처리할 양이 많아서 페이지가 느려진다고 보자. 예를 들자면..검색을 했을 경우이다. 검색을 했을경우 좀 큰 사이트의 경우 검색결과 페이지가 늦게 뜬다. 참고로 내가 맡고 있는 사이트의 경우 테이블의 조인에..뷰의 조인에.. 등등 해서 어떤 데이타를 가져올때는 1분이 넘는 경우도 있다 -_-;;; 이럴경우 그 보려는 페이지는 흰색으로 보이면서(마치 다운된것처럼) 로딩을 계속 하고 있는것이다. 이것을 TDC를 이용하면 좀 더 보기 좋게 만들수 있다. 다음을 보자

list_asp_ex2.asp

<%
' 변수 선언및 초기화
Dim DBCon
Dim strConn
Dim strQry
Dim szHead
Dim szBody
szHead  = ""
szBody  = ""
strConn = ""

' DB 연결 문자 변수
strConn = strConn&"Provider=SQLOLEDB.1;Persist Security Info=True;"
strConn = strConn&"Data Source=localhost;"     ' Server Name
strConn = strConn&"User ID=sa;"                ' User ID
strConn = strConn&"Password=;"     ' User Password
strConn = strConn&"Initial Catalog=NorthWind;" ' DataBase

' DB 객체 생성및 DB 오픈
Set DBCon = Server.CreateObject("ADODB.Connection")
DBCon.Open strConn    

' 쿼리문 실행결과를 레코드셋으로 반환
strQry = "select CustomerID,CompanyName,ContactName from Customers"
Set rs = DBCon.Execute(strQry)
Do While not rs.eof
    db_CustomerID  = rs(0)
    db_CompanyName = rs(1)
    db_ContactName = rs(2)
    
    ' TDC 형식으로 데이타를 가공한다.
    szBody = szBody&"|"& db_CustomerID  &"|¶"
    szBody = szBody&"|"& db_CompanyName &"|¶"
    szBody = szBody&"|"& db_ContactName &"|^"
    rs.MoveNext()
Loop

' TDC 형식으로 헤더를 만든다.
szHead = "CustomerID¶CompanyName¶ContactName^"

' 데이타가 나오는 속도를 늦추기 위해서 쓰레기 루프를 돌린다. -_-
for i = 0 to 10000000 : next

Response.Write szHead
Response.Write szBody
%>

list_asp_ex2.htm

<OBJECT id=List CLASSID="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
    <PARAM NAME="UseHeader" VALUE="true">
    <PARAM NAME="DataURL" VALUE="list_asp_ex2.asp">
    <PARAM NAME="TextQualifier" VALUE="|">
    <param NAME="FieldDelim" VALUE="¶">
    <PARAM NAME="RowDelim" VALUE="^">
    <PARAM NAME="CharSet" VALUE="euc-kr">
</OBJECT>
<SCRIPT for="List" event="ondatasetcomplete">
    loading.style.display = "none";
</SCRIPT>
<table border="1" DataSrc="#List">
    <thead>
    <tr>
        <th>CustomerID</th>
        <th>CompanyName</th>
        <th>ContactName</th>
    </tr>
    <tr id="loading">
        <td colspan="3" align="center">데이타를 읽는 중입니다. 잠시만 기다려 주세요...</td>
    </tr>
    </head>
    <tbody>
    <tr>
        <td><span datafld="CustomerID" DATAFORMATAS="HTML"></span></td>
        <td><span datafld="CompanyName" DATAFORMATAS="HTML"></span></td>
        <td><span datafld="ContactName" DATAFORMATAS="HTML"></span></td>
    </tr>
    </tbody> 
</table>

2-11.gif 

처음엔 위와같이 메시지가 나오다가 시간이 조금 지나면 다음과 같이 나온다

2-12.gif 

list_asp_ex2.asp 페이지를 보면 이전에 보았던 list_asp.asp 페이지에서 한줄 코드만 추가하였다.

for i = 0 to 10000000 : next

이 코드를 추가해서 일부로 데이타가 늦게 뿌려지도록 하였다. (심심하다고 10000000 에서 공하나 뒤에 더 붙이지 말아라 장난아니게 늦게 나온다. -_-;) 이번엔 list_asp_ex2.htm 페이지를 보자. 2곳에 코드가 추가되었다.

<tr id="loading">
    <td colspan="3" align="center">데이타를 읽는 중입니다. 잠시만 기다려 주세요...</td>
</tr>

테이블을 살펴보면 위와같은 코드를 추가했다. tr 태그를 하나 추가하여 거기에 id 값을 할당하였다. 중요한 것은 이 태그는 <thead></thead> 이나 <tfoot></tfoot> 안에 위치해야한다.<tbody></tbody> 안에 위치하면 그 tr 태그안에 있는 메시지까지 루프돌면서 보인다. -_-

<SCRIPT for="List" event="ondatasetcomplete">
    loading.style.display = "none";
</SCRIPT>

자바스크립트를 이용해서 List 객체가 데이타를 모두가져왔을시 실행되는 코드이다. 데이타를 모두 가져오는 이벤트가 발생하였을때 id값이 loading을 가진 객체는 숨겨지도록 하였다. 즉 데이타가 모두 가져올 시점은 list_asp_ex2.asp 파일이 실행이 다 되었을 경우인데 그 동안은 "데이타를 읽는 중입니다. 잠시만 기다려 주세요..." 메시지가 보이고 데이타를 모두 가져오면 이 메시지를 보이는 태그는 안보이도록 숨기는것이다. (SCRIPT 태그의 for, event 속성을 유의해서 살펴보자)

여기서는 event의 속성에 ondatasetcomplete란 값이 할당되어 있는데 이 이벤트 이외에도 여러가지 있는데 이러한 부분들은 각자 검색해봐라..음..사실은 그 event 들 여기다가 적으려고 했는데 꽤 많다. -_- 그래서 귀찮아서 안적으려고 한다. -_- 정 궁금하면 empas 같은데 가서 ondatasetcomplete 이런식으로 검색해보면 나온다. -_-




문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
27 keyfile을 이용한 ssh 접속 방법 뭉충닷컴 2010-10-28 13792
26 멀티 브라우저 지원하는 frame, iframe 접근 코딩 방법 [3] 뭉충닷컴 2010-07-21 26976
25 crontab을 이용한 Tomcat 서버 자동 재시작 shell 뭉충닷컴 2009-08-28 25279
24 자바스크립트로 각 form의 element(요소)에 접근 방법 file [2] 뭉충닷컴 2008-09-11 61673
23 ERwin 에서 Logical의 컬럼명을 코멘트(Comment)로 변경하기 file [2] 뭉충닷컴 2008-01-16 32135
22 Tabular Data Control 마지막 강좌! 뭉충닷컴 2007-06-14 15709
21 ASP로 웹 어플리케이션 주소 사용하기 file 뭉충닷컴 2006-12-10 17992
20 VB로 WebBrowser 컨트롤의 HTML 제어 file 뭉충닷컴 2006-12-01 21494
19 ASP 페이징 쉽게 처리하기 file [4] 뭉충닷컴 2006-08-29 24560
18 두개의 비슷한 DB를 비교해서 변경된 부분 찾아내기 file 뭉충닷컴 2006-05-03 15023
17 ASP에서 Class 를 이용해보자 file 뭉충닷컴 2006-02-26 25046
16 Hotmail의 DHTML EDITOR 편집기를 이용해보자. file [34] 뭉충닷컴 2006-02-04 30320
15 Tabular Data Control 응용 - 제목 Sort (정렬) 쉽게 하기 [3] 뭉충닷컴 2006-01-27 14147
14 스크립트(Script) 코드를 암호화 시켜보자(Encode/Decode) [2] 뭉충닷컴 2005-06-10 19143
13 dll을 이용한 로그인 file [1] 뭉충닷컴 2005-11-25 22075
12 Tabular Data Control 응용 - 페이징 처리하는 3가지 방법 file [1] 뭉충닷컴 2005-11-23 16297
11 Query를 잼있고, 유용하게 사용해보자 file [3] 뭉충닷컴 2005-10-01 14742
10 Tabular Data Control 응용 - 테이블의 행 배경색이 격으로 변하게하기 뭉충닷컴 2005-09-25 15817
9 폼(Form) 검증해주는 스크립트(Script) file [15] 뭉충닷컴 2005-06-07 19524
8 asp 로 서버에 zip 압축/압축해제(풀기) 예제 file [8] 뭉충닷컴 2005-08-12 20011
7 MS-SQL의 osql.exe 이용 하기 (도스상에서 sql 구문 이용) 뭉충닷컴 2005-09-25 19368
6 SQL Script 로 ERD와 테이블 생성 손쉽게하기 뭉충닷컴 2005-09-25 22168
5 Tabular Data Control 기초 다지기 4 - 마지막! file 뭉충닷컴 2005-09-25 14727
» Tabular Data Control 기초 다지기 3 file 뭉충닷컴 2005-09-25 14491
3 Tabular Data Control 기초 다지기 2 file 뭉충닷컴 2005-09-25 14209
2 Tabular Data Control 기초 다지기 1 file [1] 뭉충닷컴 2005-09-25 15336
1 OWC를 이용한 웹에서 엑셀 그래프 그리기 file [4] 뭉충닷컴 2007-12-19 19391