c# sqldataadapter 예제

    위의 코드에서 가장 먼저 하는 일은 DataSet을 DataGrid의 DataSource 속성에 할당합니다. 이렇게 하면 DataGrid에 바인딩할 것이 있지만 DataSet에 여러 테이블을 보유할 수 있고 사용 가능한 각 테이블을 확장할 수 있으므로 GUI에서 `+` 기호를 얻을 수 있습니다. 사용할 테이블을 정확히 지정하려면 DataGrid의 DataMember 속성을 테이블 이름으로 설정합니다. 이 예제에서는 SqlDataAdapter 채우기 메서드에 두 번째 매개 변수로 사용되는 이름과 동일한 이름을 고객으로 설정합니다. 따라서 후속 코드를 더 읽기 쉽게 하기 때문에 채우기 메서드에서 테이블에 이름을 지정합니다. 데이터 집합은 ASP.NET 및 Windows 양식 DataGrids와 함께 바인딩됩니다. 다음은 Windows 양식 DataGrid에 DataSet을 할당하는 예제입니다: 다음 코드 예제에서는 SqlConnection을 Microsoft SQL Server Northwind 데이터베이스에 사용하고 DataTable을 데이터 집합에 채우는 SqlDataAdapter의 인스턴스를 만듭니다. 고객. SqlDataAdapter 생성자에 전달 된 SQL 문 및 SqlConnection 인수는 SqlDataAdapter의 SelectCommand 속성을 만드는 데 사용 됩니다. 다음 코드 예제에서는 Microsoft SQL Server의 Northwind 데이터베이스의 고객 목록과 Microsoft Access 2000에 저장된 Northwind 데이터베이스의 주문 목록을 채웁니다. 채워진 테이블은 DataRelation와 관련이 있으며 고객 목록은 해당 고객의 주문과 함께 표시됩니다. 데이터관계 개체에 대한 자세한 내용은 데이터 관계 추가 및 데이터 관계 탐색을 참조하십시오.

    다음 예제에서는 MSDataShape 공급자를 사용하여 고객 목록에서 각 고객에 대한 주문의 장 열을 생성합니다. 그런 다음 데이터 집합이 데이터로 채워지습니다. DataSet 생성자는 매개 변수를 필요로 하지 않습니다. 그러나 데이터를 XML로 직렬화하는 경우 사용되는 DataSet 이름에 대한 문자열을 허용하는 오버로드가 하나 있습니다. 이 예제에 대한 요구 사항이 아니므로 나는 그것을 배제했다. 현재 데이터 집합이 비어 있으며 로드하려면 SqlDataAdapter가 필요합니다. 다음 예제에서는 SqlCommand, SqlDataAdapter 및 SqlConnection을 사용하여 데이터베이스에서 레코드를 선택하고 선택한 행으로 DataSet을 채웁니다. 그러면 채워진 데이터 집합이 반환됩니다. 이를 위해 메서드는 초기화된 DataSet, 연결 문자열 및 Transact-SQL SELECT 문인 쿼리 문자열을 전달합니다. DataAdapter 개체의 수는 데이터 집합과 함께 사용할 수 있습니다. 각 DataAdapter는 하나 이상의 DataTable 개체를 채우고 관련 데이터 원본으로 업데이트를 다시 해결하는 데 사용할 수 있습니다.

    데이터 관계 및 제약 조건 개체를 데이터 집합에 로컬로 추가할 수 있으므로 서로 다른 데이터 원본의 데이터를 관련시킬 수 있습니다. 예를 들어 DataSet에는 Microsoft SQL Server 데이터베이스의 데이터, OLE DB를 통해 노출된 IBM DB2 데이터베이스 및 XML을 스트리밍하는 데이터 원본이 포함될 수 있습니다. 하나 이상의 DataAdapter 개체는 각 데이터 원본에 대한 통신을 처리할 수 있습니다. DataSet은 수많은 테이블을 보유할 수 있는 메모리 내 데이터 저장소입니다. DataSet은 데이터만 보유하며 데이터 원본과 상호 작용하지 않습니다. 데이터 원본과의 연결을 관리하고 연결이 끊긴 동작을 제공하는 것은 SqlDataAdapter입니다. SqlDataAdapter는 필요할 때만 연결을 열고 작업을 수행하는 즉시 연결을 닫습니다. 예를 들어, SqlDataAdapter는 데이터 집합을 채울 때 다음 작업을 수행합니다.

    채우기 메서드는 연결이 아직 열려 있지 않은 경우 DataAdapter가 사용 하는 연결을 암시적으로 엽니다.