GetString()를 사용하여 ADO 스크립트 가속
- 이전 페이지 ADO 제거
- 다음 페이지 ADO Command
ASP 스크립트를 가속화하기 위해 GetString() 메서드를 사용하세요. (다중 행 Response.Write 대신)
예제
- GetString() 사용
- GetString()를 사용하여 HTML 테이블에서 레코드 셋의 데이터를 표시하는 방법을 설명합니다。
다중 행 Response.Write
HTML 테이블에서 데이터베이스 쿼리를 표시하는 방법을 보여주는 예제가 있습니다:
<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs = Server.CreateObject("ADODB.recordset") rs.Open "SELECT Companyname, Contactname FROM Customers", conn %> <table border="1" width="100%"> <%do until rs.EOF%> <tr> <td><%Response.Write(rs.fields("Companyname"))%></td> <td><%Response.Write(rs.fields("Contactname"))%></td> </tr> <%rs.MoveNext loop%> </table> <% rs.close conn.close rs = Nothing 설정 conn = Nothing 설정 %> </body> </html>
대형 쿼리의 경우 이렇게 하면 스크립트의 처리 시간이 증가합니다. 이는 서버가 많은 Response.Write 명령을 처리해야 하는 것 때문입니다.
해결책은 모든 문자열을 생성하고 <table>부터 </table>까지 출력하는 것입니다 - Response.Write를 한 번만 사용합니다.
GetString() 메서드
GetString() 메서드는 Response.Write를 한 번만 사용하여 모든 문자열을 표시할 수 있는 능력을 제공합니다. 또한 do..loop 코드 및 EOF 여부를 확인하는 조건 테스트도 필요하지 않습니다.
문법
str = rs.GetString(format, rows, coldel, rowdel, nullexpr)
레코드셋에서 데이터를 사용하여 HTML 테이블을 생성하려면, 위의 매개변수 중 세 가지만 사용하면 됩니다(모든 매개변수는 선택 사항입니다):
- coldel - 열 구분자로 사용하는 HTML
- rowdel - 행 구분자로 사용하는 HTML
- nullexpr - 열이 비어있을 때 사용하는 HTML
주의사항:GetString() 메서드는 ADO 2.0의 기능입니다. 아래의 주소에서 ADO 2.0를 다운로드할 수 있습니다:http://www.microsoft.com/data/download.htm
아래의 예제에서는 GetString() 메서드를 사용하여 레코드셋을 문자열로 저장하겠습니다:
<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs = Server.CreateObject("ADODB.recordset") rs.Open "SELECT Companyname, Contactname FROM Customers", conn str=rs.GetString(,,"</td><td>","</td></tr><tr><td>"," ") %> <table border="1" width="100%"> <tr> <td><%Response.Write(str)%></td> </tr> </table> <% rs.close conn.close rs = Nothing 설정 conn = Nothing 설정 %> </body> </html>
위의 변수 str은 SELECT 문이 반환한 모든 열과 행을 포함하는 문자열입니다. 열 사이에는 </td><td>가, 행 사이에는 </td></tr><tr><td>가 나타납니다. 따라서 Response.Write를 한 번만 사용하여 필요한 HTML을 얻을 수 있습니다.
- 이전 페이지 ADO 제거
- 다음 페이지 ADO Command