2011-05-14 3 views
3

나는 이것이 새롭기 때문에 사소한 것이라면 용서해주십시오. 어쨌든, 나는 5 개의 항목이있는 데이터베이스의 테이블에서 데이터를보고하는 간단한 ASP 웹 페이지를 만들고 있습니다. GridView를 사용하여 데이터를 표시하면 제대로 작동하지만 페이징을 허용 할 수 있도록 결과를 세 가지 항목으로 제한하고 싶습니다. 나는 같은에서 SELECT 문을 구성하려고ASP 웹 페이지의 페이징?

select * from country limit 3 

에 "국가 SELECT * FROM"그러나 나는 내가 그것을 테스트 할 때 메시지 "쿼리를 실행하는 중에 오류가 발생했습니다"얻는다. 내가해야 할 다른 방법이 있니?

+0

데이터베이스가 온라인입니까? – soandos

+0

어떤 종류의 데이터베이스를 사용하고 있습니까? MS SQL에서 쿼리는'나라에서 상위 3 * 선택'입니다. –

+0

SQL Server에서 내 컴퓨터에 해당 설정을 설치하지 않았습니다. 로컬 호스트에서만 응용 프로그램을 실행하고 있습니다. – oipsl

답변

1

Gridview의 속성 PageSize=3

+0

이것은 데이터베이스에서 모든 테이블을 가져오고 클라이언트에서 필터링을 수행하므로 항상 좋은 생각은 아닙니다. 당기기 전에 데이터를 제한하는 것이 더 효율적입니다. –

+0

@Alex : OP는 5 개의 레코드 만 가지고 있다고 언급 했으므로 아무런 문제가되지 않습니다. – jams

+0

@ 토마스 - 나는 그것이 문제라는 말은 아니며, 덜 효율적이라고 말하고있다. –

1

시도는 SQL Server 데이터베이스를 사용하는 대신 경우 TOP 키워드를 사용합니다 : 당신이 레코드의 총 수에 따라 top

select top 3 * from country 
1

는 SQL 서버에서이 작업을 수행하려면 국가 테이블에 간단한 해결책이 SQL에서 반환 된 행 수에 대한 제한없이 asp:DataPager 컨트롤을 사용하는 것이 예상됩니다.

이것은 모든 페이징을 처리하지만, 전체 데이터 세트는 페이지 뷰 상태로 유지되므로 1000 개의 레코드가 필요하다고 생각하는 적절한 해결책은 아닙니다.

1

를 사용할 필요가

SELECT TOP 3 * FROM COUNTRY;