사용 될 프로시저 입니다.
CREATE PROC USER_LIST
(
@ROW_START INT,
@ROW_END INT
)
AS
Select *From
(
Select ROW_NUMBER() Over (Order By Num Asc) As Row_Num,
Name From [User]
)As A
Where Row_Num Between @ROW_START And @ROW_END
--Where ROW_NUM >= @ROW_START And ROW_NUM <= @ROW_END
@ROW_START 는 시작번호
@ROW_END 는 마지막 번호
ROW_NUMBER()는 MS_SQL 2005부터 추가된 걸로 알고있습니다.
[참고] http://msdn.microsoft.com/ko-kr/library/ms186734(SQL.90).aspx
aspx 웹 페이지 추가 후 디자인 해주세요.
<asp:GridView ID="Grid_List" runat="server" AutoGenerateColumns="false" Width="100%">
<Columns>
<asp:TemplateField HeaderText="번호">
<ItemTemplate>
<asp:Label ID="lblNum" runat="server" Text='<%# Eval("Row_Num") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="이름">
<ItemTemplate>
<asp:Label ID="lblName" runat="server" Text='<%# Eval("Name") %'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
추가한 aspx 웹 페이지의 cs 코드페이지에서 코드 작성
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Database db = DatabaseFactory.CreateDatabase("연결문자열 이름");
DbCommand cmd = db.GetStoredProcCommand("USER_LIST");
db.AddInParameter(cmd, "@ROW_START", DbType.Int32, 1);
db.AddInParameter(cmd, "@ROW_END", DbType.Int32, 10);
DataSet ds = db.ExecuteDataSet(cmd);
gvList.DataBind();
}
}
1,10 으로 주면... 1부터 10까지 나오고... 11, 20을 주면 11부터 20까지 나옵니다.
1번 페이지 -> 1, 10
2번 페이지 -> 11, 20
3번 페이지 -> 21, 30 으로 주면 되겠네요...무지무지 간단하게 했습니다...
끝~
'ASP.NET' 카테고리의 다른 글
Web.Config 를 활용하자! (0) | 2011.04.28 |
---|---|
Substring 문자 자르기~ (0) | 2011.04.26 |
DB SP(프로시저)를 이용해서 페이징 처리 하는 예제 입니다. -1- (0) | 2011.04.25 |
웹에서 절대경로 지정한 exe 실행 하기 (0) | 2011.04.21 |
GridView 에서 SelectedIndexChanged 이벤트 사용 안하고 버튼 클릭시 이동하는 기능 (0) | 2011.04.20 |
Comments