게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
님 이건 님 홈피와 상관이 없는 질문이거든요..제가 넘 어려워서요. |
---|
작성자: 이재성
작성일시: 2005-04-13 15:53,
조회수: 3,210
|
제가 나름대로 해보았는 정말 잘안되서 혹시 나마 도움을 받을수 있을까 해서요..
SQL2000 매거진에서 나온 소스를 적용을 시켰는데.. 이것을 ASP 어떻게 받아서 처리를 하는지 모르겠습니다. 이것을 애널라이져에서 사용 하면 결과값이.. 리스트 10개 쭈우욱 나오고 그 다음에 총 레코드 결과값이 나옵니다.. 이것을 어떻게 ASP에서 받아서 처리를 해야 할지.. SQL="EXEC SELECT_WITH_PAGING '*','idx','uv_Member_List',"&page&","&list_count&",1,'','idx DESC'" Rs.Open SQL,db,3 IF NOT Rs.EOF THEN AiiRec = Rs.GetString(2,list_count,"ⓒⓗⓡ⑨","ⓒⓗⓡ⑬") Rows = Split(AiiRec,"ⓒⓗⓡ⑬") Else AiiRec = "" END IF Rs.Close Response.write AiiRec&"<br>" 이렇게 받아서 찍어 보니..리스트만 10개가 쭈루룩 나옵니다.. 총 레코드값을 어떻게 받아서 처리를 해야 할지 모르겠습니다.. ALTER PROCEDURE SELECT_WITH_PAGING ( @strFields varchar(4000), @strPK varchar(100), @strTables varchar(4000), @intPageNo int = 1, @intPageSize int = NULL, @blnGetRecordCount bit = 0, @strFilter varchar(8000) = NULL, @strSort varchar(8000) = NULL, @strGroup varchar(8000) = NULL) /* 매개변수에 따라 반환되는 결과값을 특정 페이지로 정의하거나 전체 행을 모두 반환할 수 있도록 설정한 다. */ AS DECLARE @blnBringAllRecords bit DECLARE @strPageNo varchar(50) DECLARE @strPageSize varchar(50) DECLARE @strSkippedRows varchar(50) DECLARE @strFilterCriteria varchar(8000) DECLARE @strSimpleFilter varchar(8000) DECLARE @strSortCriteria varchar(8000) DECLARE @strGroupCriteria varchar(8000) DECLARE @intRecordcount int DECLARE @intPagecount int /* 페이징 조건 정규화 의미있는 페이징 조건이 입력되지 않은 경우, 페이징하지 않고 좀 더 효율적인 방법으로 쿼리를 실행시키기 위해 blnBringAllRecords 플래그를 사용 */ IF @intPageNo < 1 SET @intPageNo = 1 SET @strPageNo = CONVERT(varchar(50), @intPageNo) IF @intPageSize IS NULL OR @intPageSize < 1 /*-- 페이징하지 않고 전체 행을 반환 */ SET @blnBringAllRecords = 1 ELSE BEGIN SET @blnBringAllRecords = 0 SET @strPageSize = CONVERT(varchar(50), @intPageSize) SET @strPageNo = CONVERT(varchar(50), @intPageNo) SET @strSkippedRows = CONVERT(varchar(50), @intPageSize * (@intPageNo - 1)) END /* 정렬 및 필터링 조건 정규화 정렬 및 필터링 조건이 지정되지 않으면, 필터링이나 정렬작업이 수행되지 않도록 하여 쿼리의 성능을 향상시 킴.*/ IF @strFilter IS NOT NULL AND @strFilter != '' BEGIN SET @strFilterCriteria = ' WHERE ' + @strFilter + ' ' SET @strSimpleFilter = ' AND ' + @strFilter + ' ' END ELSE BEGIN SET @strSimpleFilter = '' SET @strFilterCriteria = '' END IF @strSort IS NOT NULL AND @strSort != '' SET @strSortCriteria = ' ORDER BY ' + @strSort + ' ' ELSE SET @strSortCriteria = '' IF @strGroup IS NOT NULL AND @strGroup != '' SET @strGroupCriteria = 'GROUP BY' + @strGroup + ' ' ELSE SET @strGroupCriteria = '' /* 실제 조회작업을 시작 */ IF @blnBringAllRecords = 1 /*-- 페이징 하지 않고 단순한 SELECT 문장만 을 실행 */ BEGIN EXEC ( ' SELECT ' + @strFields + 'FROM' + @strTables + @strFilterCriteria + @strGroupCriteria + @strSortCriteria ) END /*-- 전체 레코드를 반환. */ ELSE /*-- 지정된 페이지를 반환 */ BEGIN IF @intPageNo = 1 /*-- 맨 처음 페이지를 찾기 때문에 서브쿼리가 없어서 가장 효율적으로 실행된다. */ EXEC ( 'SELECT TOP ' + @strPageSize + ' ' + @strFields + 'FROM ' + @strTables + @strFilterCriteria + @strGroupCriteria + @strSortCriteria ) ELSE /*-- 특정 페이지를 선택하기 위해 서브쿼리 구조를 실행한다. */ EXEC ( 'SELECT' + @strFields + ' FROM ' + @strTables + ' WHERE ' + @strPK + 'IN' + ' (SELECT TOP ' + @strPageSize + ' ' + @strPK + ' FROM ' + @strTables + ' WHERE ' + @strPK + ' NOT IN ' + ' (SELECT TOP ' + @strSkippedRows + ' ' + @strPK + ' FROM ' + @strTables + @strFilterCriteria + @strGroupCriteria + @strSortCriteria + ') ' + @strSimpleFilter + @strGroupCriteria + @strSortCriteria + ') ' + @strGroupCriteria + @strSortCriteria ) END /*-- 특정 페이지를 지정한 경우 */ /* 전체 레코드 수를 반환하도록 지정된 경우 */ IF @blnGetRecordCount = 1 IF @strGroupCriteria != '' EXEC ( 'SELECT COUNT(*) AS RECORDCOUNT FROM (SELECT COUNT(*) FROM ' + @strTables + @strFilterCriteria + @strGroupCriteria + ') AS tbl (id)' ) ELSE EXEC ( 'SELECT COUNT(*) AS RECORDCOUNT FROM ' + @strTables + @strFilterCriteria + @strGroupCriteria) GO |
IP 주소: 61.74.112.58
|
게시물 | ||||
---|---|---|---|---|
1,103 | 2005-05-02 | 5,138 | ||
1,102 | 2005-05-02 | 2,828 | ||
1,101 | 2005-05-02 | 3,237 | ||
1,100 | 2005-05-03 | 3,035 | ||
1,099 |
조언을 듣고 싶습니다. [1] |
궁금이 |
2005-04-29 | 843 |
1,098 |
오마르 |
2005-04-28 | 850 | |
1,097 | 2005-04-28 | 2,871 | ||
2005-04-13 | 3,210 | |||
1,095 | 2005-04-13 | 3,172 | ||
1,094 | 2005-04-12 | 2,702 | ||
1,093 | 2005-04-12 | 2,861 | ||
1,092 | 2005-04-11 | 2,858 | ||
1,091 | 2005-04-10 | 2,880 | ||
1,090 | 2005-04-11 | 3,100 | ||
1,089 | 2005-05-02 | 2,975 | ||
1,088 | 2005-04-10 | 2,808 | ||
1,087 | 2005-04-10 | 3,255 | ||
1,086 |
IIS가 이상합니다. [4] |
2005-04-08 | 5,189 | |
1,085 |
오마르 |
2005-04-08 | 1,061 | |
1,084 |
re: 타겟 지정?? [1] |
2005-04-08 | 2,731 | |
1,083 |
김재필 |
2005-04-06 | 897 | |
1,082 | 2005-04-07 | 2,860 | ||
1,081 |
주말 잘 보내세요. [1] |
정보문 |
2005-04-02 | 875 |
1,080 |
조보영 |
2005-03-31 | 850 | |
1,079 | 2005-03-31 | 2,765 |