■ ObjectDataSource 클래스를 사용하는 방법을 보여준다.
▶ TestDB.sql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
CREATE TABLE dbo.Memo ( ID INT IDENTITY(1, 1) PRIMARY KEY, -- ID Title NVARCHAR(100) NOT NULL, -- 제목 MailAddress NVARCHAR(100) NULL, -- 메일 주소 [Description] NVARCHAR(500) NOT NULL, -- 설명 WriteDate DATETIME DEFAULT(GETDATE()), -- 작성일 WriteIP NVARCHAR(15) NULL -- 작성 IP 주소 ) GO INSERT INTO dbo.Memo VALUES ( N'메모1', N'test@daum.com', N'테스트 문자열1', GetDate(), '127.0.0.1' ) Go INSERT INTO dbo.Memo VALUES ( N'메모2', N'test@daum.com', N'테스트 문자열2', GetDate(), '127.0.0.1' ) Go CREATE PROCEDURE dbo.ListMemo AS SELECT ID ,Title ,MailAddress ,[Description] ,WriteDate ,WriteIP FROM dbo.Memo ORDER BY ID DESC GO |
▶ Web.config
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> <compilation targetFramework="4.6" debug="true" /> <httpRuntime targetFramework="4.6" /> </system.web> <connectionStrings> <add name="ConnectionString" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=TestDB;Integrated Security=True;" /> </connectionStrings> </configuration> |
▶ MainPage.aspx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MainPage.aspx.cs" Inherits="TestProject.MainPage" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ObjectDataSource 클래스 사용하기</title> </head> <body> <form id="form" runat="server"> <div> <asp:GridView ID="gridView" runat="server" DataSourceID="objectDataSource" /> <asp:ObjectDataSource ID="objectDataSource" runat="server" SelectMethod="GetDataReader" TypeName="TestProject.MainPage" /> </div> </form> </body> </html> |
▶ MainPage.aspx.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Web.UI; namespace TestProject { /// <summary> /// 메인 페이지 /// </summary> public partial class MainPage : Page { //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Public #region 데이터 리더 구하기 - GetDataReader() /// <summary> /// 데이터 리더 구하기 /// </summary> /// <returns>데이터 리더</returns> public SqlDataReader GetDataReader() { SqlConnection connection = new SqlConnection(); connection.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; connection.Open(); SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = "ListMemo"; command.CommandType = CommandType.StoredProcedure; return command.ExecuteReader(CommandBehavior.CloseConnection); } #endregion ////////////////////////////////////////////////////////////////////////////////////////// Protected #region 페이지 로드시 처리하기 - Page_Load(sender, e) /// <summary> /// 페이지 로드시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> protected void Page_Load(object sender, EventArgs e) { } #endregion } } |