본문 바로가기

ASP.NET

[ASP.NET] ADO.NET 기본 ADO.NET 은 .NET Framework 1.0 부터 포함된 핵심 컴포넌트에 해당하며 오늘날 데이터에 접근할 수 있는 다양한 방법을 제시함으로써 근본적으로 데이터를 다루기 위한 여러 기능을 제공하고 있습니다. ADO.NET 이전의 ADO 는 데이터베이스로부터 지속적으로 데이터 연결을 유지한 상태에서 필요한 데이터를 다루어야 했는데 연결상태가 계속해서 유지되어야 한다는 면은 비효휼적인 면을 드러냈고 곧 비연결상태에서도 데이터를 다룰 수 있어야 한다는 요구가 제시되었습니다. 비연결의 근본적인 동작방식은 데이터를 특정 컬렉션에 채워넣고 DB와의 연결을 끊은상태에서 컬렉션에 채워진 데이터를 다루는 것입니다. ADO.NET 의 DataSet 이 바로 그러한 역활을 수행하는데 컬렉션에 채워진 데이터는 데이터베이.. 더보기
[ASP.NET] LinqDataSource - QueryExtender 를 통한 데이터 다중 필터링 LinqDataSource 컨트롤 생성시 설정마법사를 통해서도 어느정도의 데이터 필터링을 위한 기능을 제공하지만 QueryExtender 를 사용하면 좀더 다양한 방법으로 데이터 필터링을 수행할 수 있습니다. QueryExtender 는 다중검색이나 데이터 검색범위, 콤마(,)를 통한 OrderBy 다중필드 처리를 수행할 수 있을 뿐만 아니라 사용자 정의 표현식의 적용도 가능합니다. 아래 표는 현재 사용할 수 있는 필터링 표현식 항목입니다. SearchExpression 문자열이나 검색이나 비교를 수행합니다. 특히 SearchType 속성을 사용하면 StartsWith, EndsWith, Contains 를 이용한 검색도 가능합니다. RangeExpression 최소값과 최대값을 지정해 해당 범위의 값을.. 더보기
[ASP.NET] DetailsView GridView는 Table의 전체 Row를 Grid에 뿌리지만 DetailsView 컨트롤은 한번에 하나의 레코드에 해당하는 데이터만을 볼 수 있게 합니다. Table의 Row를 하나씩 표시하면서 데이터의 추가, 삭제, 변경또한 가능한 컨트롤입니다. DetailsView 컨트롤의 사용은 어렵지 않으며 다른 데이터 컨트롤과 마찬가지로 데이터소스를 지정해 주기만 하면 기본적인 기능을 바로 수행할 수 있습니다. 보시는 바와같이 DetailsView 컨트롤은 데이터소스컨트롤에서 반환하는 데이터중 하나의 레코드에 해당하는 데이터만을 출력합니다. ▶ DetailsView 는 데이터 소스의 쿼리결과 반환되는 데이터항목중 가장 처음것만을 표시하게 되는데 모든 데이터 항목을 하나씩 순환해 보려면 AllowPaging .. 더보기
[ASP.NET] GridView GridView 컨트롤은 데이터 집합을 사용자에게 보여주기 위해 ASP.NET 에서 사용할 수 있는 대표적 컨트롤입니다. GridView는 단순히 데이터를 화면에 표시하는 기능이외에도 데이터를 정렬하거나 게시판에서와 같은 페이징기능도 제공하며 심지어는 표시된 데이터를 임의로 수정할 수도 있습니다. 은 AdventureWorks2012 데이터베이스의 Person.Person 테이블에서 데이터를 Select 하는 SqlDataSource 컨트롤을 소스로 하여 GridView 컨트롤을 사용한 예제입니다. ▶ 데이터 소스를 GridView에 설정하고 페이지를 실행하면 데이터 소스의 스키마와 일치하는 컬럼을 자동으로 생성하여 화면에 표시하게 됩니다. ▶ 필요하다면 전체 컬럼을 그대로 가져오는 것이 아니라 데이터 .. 더보기
[ASP.NET] FormView FormView 는 데이터 소스로부터 하나의 레코드정보를 표시하고 데이터 추가, 편집및 삭제가 가능한 컨트롤로서 DetailsView 와 비슷한 기능을 수행합니다. 하지만 화면에 표시되는 정형화된 레이아웃이 없고 개발자가 직접 템플릿안에서 레이아웃을 구성해야 합니다. 귀찮은 단점이 될 수 있는 반면 완벽하게 레이아웃을 임의로 구성할 수 있다는 점에서 그 만큼 화면구성에 대한 자유로움이 존재합니다. ▶ 그림 1-1 은 AdventureWorks2012 샘플데이터베이스의 Person.PersonPhone 테이블에서 하나의 레코드를 표시하기위해 작성된 ItemTemplate 형태를 보여주고 있습니다. ItemTemplate 은 특정 테이블에서 레코드를 표시하기 위한 기본적인 템플릿이며 이 템플릿안에서 레이아웃.. 더보기
[ASP.NET] web.config 에 저장된 연결정보 다루기 일반적으로 데이터 베이스 연결정보와 같은 데이터는 web.config 안에 저장하게 됩니다. 이것은 정해진 규칙은 아니지만 대부분의 경우 웹사이트안에서 연결정보에 대한 접근을 쉽게할 수 있고 관련정보의 관리또한 간단해 질 수 있기 때문입니다. ▶ 은 web.config 의 connectionStrings 섹션에 저장된 MSSQL 서버 연결정보를 보여주고 있습니다. 만약 web.config 안에 저장된 연결정보가 상황에 따라 런타임에서 동적으로 다루어져야 하는 경우 ConnectionStringSettings 클래스를 활용하게 됩니다. 이 클래스는 web.config 파일에 저장된 연결정보 섹션에 대한 컬렉션을 담고 있는 클래스로서 web.config 안의 연결정보를 추가하거나 수정, 삭제가 가능하도록 합.. 더보기
[ASP.NET] SiteMapDataSource SiteMapDataSource 컨트롤은 .sitemap 파일에 저장된 데이터를 다루기 위한 컨트롤입니다. ▶ 은 sitemap 파일에 저장된 XML 구조의 데이터를 보여주고 있으며 대부분의 경우 SiteMapDataSource 컨트롤은 위와 같은 sitemap 데이터를 가공하여 보여주기 위해 특정 컨트롤에 바인딩되어 사용되는 경우가 많습니다. ▶ SiteMapDataSource 오로지 sitemap 데이터만 다루기 위한 컨트롤로서 매우 단순하며 간단한 컨트롤입니다. 다른 Data Source 컨트롤에 존재하는 캐싱기능은 제공되지 않으며 하다못해 기본적인 설명을 도와주는 설정 마법사도 존재하지 않습니다. 더보기
[ASP.NET] ObjectDataSource ObjectDataSource 는 개발자에 의해 직접 코드로 작성되거나 O/R(Object Relational) Mapper와 같은 것에 의해 생성된 미들 레이어 비지니스 객체(Middle-Layer Business Object)를 직접적으로 바인딩할 수 있도록 하는 기능을 제공합니다. ObjectDataSource 사용방법을 알아보기 위해 우선 바인딩 대상이 될 test_products 라는 샘플 클래스와 test_products 클래스 컬렉션에 대해 select, insert, update, delete 등을 수행하는 test_products_op 클래스를 생성하도록 하겠습니다.public class test_products { public string product_name { get; set; }.. 더보기