연습: ListView 웹 서버 컨트롤을 사용하여 데이터 수정

업데이트: 2007년 11월

ASP.NET ListView 컨트롤에는 사용자가 프로그래밍할 필요없이 레코드를 삽입, 편집 또는 삭제하는 데 사용할 수 있는 기본 제공 기능이 있습니다.

이 연습에서는 ListView 컨트롤을 사용하여 데이터를 표시하고 업데이트하는 방법을 보여 줍니다.. 또한 이 연습에서는 SqlDataSource 컨트롤을 사용하여 데이터 소스의 결과를 검색하고 업데이트를 관리합니다. SqlDataSource 컨트롤은 ListView 컨트롤의 데이터 소스 역할을 수행합니다.

이 연습에서 수행할 작업은 다음과 같습니다.

  • 데이터베이스에서 반환된 데이터를 ListView 컨트롤에 표시합니다.

  • ListView 컨트롤에 레코드 편집, 삽입 및 삭제 기능을 추가합니다

사전 요구 사항

이 연습을 완료하려면 다음과 같은 요건을 갖추어야 합니다.

  • Visual Studio 2008 또는 Visual Web Developer 2008 Express Edition

  • SQL Server Adventure Works 데이터베이스에 대한 액세스 권한 SQL Server 샘플 AdventureWorks 데이터베이스를 다운로드 및 설치하는 방법에 대한 자세한 내용은 Microsoft SQL Server 웹 사이트의 Express Editions에 대하 예제 데이터베이스 설치를 참조하십시오.

    참고:

    SQL Server가 실행되는 컴퓨터에 로그온하는 방법에 대한 자세한 내용은 서버 관리자에게 문의하십시오.

  • AdventureWorks 데이터베이스에 액세스할 수 있는 SQL Server 계정의 사용자 이름과 암호입니다.

웹 사이트 만들기

연습: Visual Web Developer에서 기본 웹 페이지 만들기를 완료한 경우를 비롯하여 웹 사이트를 이미 만든 경우에는 해당 웹 사이트를 사용하고 다음 단원으로 건너뛸 수 있습니다. 그렇지 않으면, 다음 단계를 따라 새 웹 사이트와 페이지를 만듭니다.

파일 시스템 웹 사이트를 만들려면

  1. Visual Studio 2008 또는 Visual Web Developer 2008 Express Edition을 엽니다.

  2. 파일 메뉴에서 새로 만들기를 클릭한 다음 웹 사이트를 클릭합니다. Visual Web Developer 2008 Express Edition을 사용하는 경우 파일 메뉴에서 새로 만들기, 웹 사이트를 클릭합니다.

    새 웹 사이트 대화 상자가 표시됩니다.

  3. Visual Studio에 설치되어 있는 템플릿에서 ASP.NET 웹 사이트를 클릭합니다.

  4. 첫 번째 위치 상자에서 파일 시스템을 선택하고 두 번째 상자에 웹 사이트의 페이지를 보관할 폴더의 이름을 입력합니다.

    예를 들어 폴더 이름으로 C:\WebSites\ModifyData를 입력합니다.

  5. 언어 목록에서 작업할 프로그래밍 언어를 클릭합니다.

  6. 확인을 클릭합니다.

    Visual Studio에서 폴더 및 Default.aspx라는 새 페이지를 만듭니다.

ListView 컨트롤을 사용하여 데이터 수정이 가능하도록 설정

이 단원에서는 ListView 컨트롤을 페이지에 추가하고 AdventureWorks 데이터베이스 Department 표의 데이터를 표시하고 수정하도록 이 컨트롤을 구성합니다.

ListView 컨트롤에서 데이터를 표시 및 수정하려면

  1. 웹 사이트에 App_Data 폴더가 없는 경우 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 ASP.NET 폴더 추가를 클릭한 다음 App_Data를 클릭합니다.

  2. 솔루션 탐색기에서 App_Data 폴더를 마우스 오른쪽 단추로 클릭한 다음 기존 항목 추가를 클릭합니다.

    기존 항목 추가 대화 상자가 표시됩니다.

  3. AdventureWorks 데이터베이스 파일(AdventureWorks_Data.mdf)이 설치되어 있는 위치를 입력합니다.

    기본적으로 .mdf 파일은 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf 경로에 설치됩니다.

    참고:

    이 절차에서는 프로젝트에서 데이터베이스 파일의 복사본을 만듭니다. 데이터베이스 파일은 큽니다. 데이터베이스 복사본을 만드는 것이 비효율적이라면 데이터베이스 파일을 직접 연결하는 등 다른 방법을 사용하여 연결할 수 있습니다. 그러나 이 작업을 위한 절차는 이 연습에서 다루지 않습니다.

  4. Default.aspx 파일로 전환하거나 이 파일을 엽니다.

  5. 디자인 뷰로 전환합니다.

  6. 도구 상자의 데이터 탭에서 ListView 컨트롤을 페이지로 끌어 옵니다.

  7. 일반ListView 작업 메뉴의 데이터 소스선택 드롭다운 목록에서 <새 데이터 소스…>를 클릭합니다. 다음 그림에서는 일반ListView 작업 메뉴를 보여 줍니다.

    데이터 소스 구성 마법사가 표시됩니다. 다음 그림에서는 데이터 소스 구성 마법사를 보여 줍니다.

    데이터 소스 구성 마법사

  8. 데이터베이스를 클릭합니다.

    이는 SQL Server나 그 밖의 OLE-DB 호환 데이터베이스와 같이 SQL 문을 지원하는 데이터베이스에서 데이터를 가져오려 한다는 의미입니다.

  9. 데이터 소스의 ID 지정 상자에 기본 데이터 소스 컨트롤 이름인 SqlDataSource1이 표시됩니다. 이 이름을 그대로 둘 수 있습니다.

  10. 확인을 클릭합니다.

    데이터 소스 구성 마법사가 표시됩니다.

  11. 응용 프로그램이 데이터베이스에 연결하기 위해 사용해야 하는 데이터 연결의 목록에서 AdventureWorks_Data.mdf를 선택합니다.

  12. 다음을 클릭합니다.

    마법사는 구성 파일에 연결 문자열을 저장할 수 있는 페이지를 표시합니다. 구성 파일에 연결 문자열을 저장할 경우 두 가지 장점이 있습니다.

    • 페이지에 저장하는 것보다 안전합니다.

    • 여러 페이지에서 동일한 연결 문자열을 사용할 수 있습니다.

  13. 예, 이 연결을 다음으로 저장합니다. 확인란이 선택되어 있는지 확인하고 다음을 클릭합니다. 기본 연결 문자열 이름을 그대로 둘 수 있습니다.

    데이터 소스 구성 마법사가 표시됩니다. 여기서 데이터베이스에서 검색하려는 데이터를 지정할 수 있습니다.

  14. 사용자 지정 SQL 문 또는 저장 프로시저 지정 옵션을 선택합니다. 다음 그림에서는 데이터 소스 구성 마법사를 보여 줍니다.

    Select 문 구성

    참고:

    일반적으로 테이블 또는 뷰의 열 지정 옵션을 사용합니다. 그러나 AdventureWorks 데이터베이스에 스키마 이름이 있으므로 이 연습에서는 사용자 지정 SQL 문을 만듭니다.

  15. 다음을 클릭합니다.

  16. 사용자 지정 문 또는 저장 프로시저 정의 페이지에서 다음과 같은 SQL 쿼리를 입력하여 AdventureWorks 데이터베이스에서 부서 데이터를 검색합니다.

    SELECT  DepartmentID, Name, GroupName 
    FROM    HumanResources.Department
    

    또한 쿼리 작성기를 클릭하고 쿼리 작성기를 사용하여 쿼리를 만들고 쿼리 실행 단추를 사용하여 유효성을 검사할 수 있습니다.

  17. UPDATE 탭을 클릭하고 다음 SQL 쿼리를 입력하여 AdventureWorks 데이터베이스에서 부서 데이터를 검색합니다.

    UPDATE HumanResources.Department 
    SET    Name = @Name, GroupName = @GroupName 
    WHERE  (DepartmentID = @DepartmentID)
    
  18. INSERT 탭을 클릭하고 다음 SQL 쿼리를 입력하여 AdventureWorks 데이터베이스에 부서 데이터를 삽입합니다.

    INSERT INTO HumanResources.Department(Name, GroupName)
    VALUES (@Name, @GroupName)
    
  19. DELETE 탭을 클릭하고 다음 SQL 쿼리를 입력하여 AdventureWorks 데이터베이스에서 부서 데이터를 삭제합니다.

    DELETE FROM HumanResources.Department WHERE (DepartmentID = @DepartmentID)
    
  20. 다음을 클릭합니다.

  21. 쿼리 테스트를 클릭하여 원하는 데이터가 검색되는지 확인합니다.

  22. 마침을 클릭합니다.

    마법사는 SqlDataSource 컨트롤을 만들어 페이지에 추가합니다. 앞에서 추가한 ListView 컨트롤이 SqlDataSource 컨트롤에 바인딩됩니다.

  23. ListView 컨트롤을 마우스 오른쪽 단추로 클릭하고 스마트 태그 표시를 클릭합니다.

  24. ListView 작업 메뉴에서 ListView 구성을 클릭합니다.

    ListView 구성 대화 상자가 표시됩니다.

  25. 옵션에서 편집 사용, 삽입 사용 및 삭제 사용 확인란을 선택합니다. 다음 그림에서는 ListView 구성 대화 상자를 보여 줍니다.

    ListView 구성

    참고:

    다른 스타일을 선택하여 데이터를 보다 쉽게 볼 수도 있습니다. 이렇게 하려면 스타일 선택에서 다양과 같은 스타일을 선택합니다.

  26. 확인을 클릭합니다. 구성된 ListView 컨트롤은 다음 그림과 같이 나타납니다.

    ListView 컨트롤

이제 ListView 컨트롤을 테스트할 수 있습니다.

페이지를 테스트하려면

  1. Ctrl+F5를 눌러 페이지를 실행합니다.

    ListView 컨트롤이 DepartmentID, Name 및 GroupName 열과 함께 표시됩니다.

  2. 편집 단추를 클릭하여 테이블의 레코드를 수정합니다.

  3. 값을 변경한 다음 업데이트를 클릭하거나 취소를 클릭하여 편집 작업을 취소합니다.

  4. 페이지 맨 아래의 Name 및 GroupName 필드에 값을 입력하고 삽입을 클릭하여 새 레코드를 삽입합니다.

  5. 방금 삽입한 레코드의 삭제 단추를 클릭하여 데이터베이스에서 레코드를 삭제합니다.

다음 단계

이 연습에서는 ListView 컨트롤을 통해 사용자 지정 레이아웃을 사용하여 데이터 레코드를 표시하고 편집하는 기본 단계를 살펴보았습니다. ListView 컨트롤을 사용하면 이 연습에서 수행했던 것보다 더 정교한 서식 지정을 수행할 수 있습니다. ListView 컨트롤을 사용할 수 있는 다른 시나리오에 대해서는 ListView 웹 서버 컨트롤 개요를 참조하십시오.

참고 항목

작업

연습: ListView 웹 서버 컨트롤을 사용하여 데이터 표시, 페이징 및 정렬

방법: 데이터 소스 컨트롤을 사용하는 경우 연결 문자열 보안 유지

연습: 웹 페이지의 기본 데이터 액세스

개념

ListView 웹 서버 컨트롤 개요