비고
클래스 및 관련 클래스는 DataSet 2000년대 초반의 레거시 .NET Framework 기술로, 애플리케이션이 데이터베이스와 연결이 끊긴 동안 애플리케이션이 메모리의 데이터로 작업할 수 있도록 합니다. 이 기술은 사용자가 데이터를 수정하고 변경 내용을 데이터베이스에 다시 유지할 수 있도록 하는 앱에 특히 유용합니다. 데이터 세트는 입증된 성공적인 기술이지만 새 .NET 애플리케이션에 권장되는 방법은 Entity Framework Core를 사용하는 것입니다. Entity Framework는 테이블 형식 데이터를 개체 모델로 사용하는 보다 자연스러운 방법을 제공하며 더 간단한 프로그래밍 인터페이스를 제공합니다.
개체의 값을 TableAdapter의 DBDirect 메서드(예 TableAdapter.Insert: )에 전달하여 개체의 데이터를 데이터베이스에 저장할 수 있습니다. 자세한 내용은 TableAdapter를 참조하세요.
개체 컬렉션에서 데이터를 저장하려면 개체 컬렉션(예: for-next 루프)을 반복하고 TableAdapter의 메서드 중 하나를 사용하여 각 개체의 DBDirect 값을 데이터베이스로 보냅니다.
기본적으로 DBDirect 메서드는 데이터베이스에 대해 직접 실행할 수 있는 TableAdapter에 만들어집니다. 이러한 메서드는 직접 호출할 수 있으며, 변경 내용을 조정하거나 DataSet 또는 DataTable 개체 없이 데이터베이스에 업데이트를 보낼 필요가 없습니다.
비고
TableAdapter를 구성할 때 기본 쿼리는 메서드를 만들 수 있는 충분한 정보를 DBDirect 제공해야 합니다. 예를 들어 TableAdapter가 기본 키 열이 정의되지 않은 테이블의 데이터를 쿼리하도록 구성된 경우 메서드를 생성 DBDirect 하지 않습니다.
| TableAdapter DBDirect 메서드 | 설명 |
|---|---|
TableAdapter.Insert |
데이터베이스에 새 레코드를 추가하고 개별 열 값을 메서드 매개 변수로 전달할 수 있습니다. |
TableAdapter.Update |
데이터베이스의 기존 레코드를 업데이트합니다. 메서드는 Update 원래 및 새 열 값을 메서드 매개 변수로 사용합니다. 원래 값은 원래 레코드를 찾는 데 사용되며 새 값은 해당 레코드를 업데이트하는 데 사용됩니다.TableAdapter.Update 메서드도 DataSet, DataTable, DataRow 또는 DataRow 배열을 메서드 매개 변수로 사용하여 데이터 세트의 변경 내용을 데이터베이스로 다시 조정하는 데 사용됩니다. |
TableAdapter.Delete |
메서드 매개 변수로 전달된 원래 열 값에 따라 데이터베이스에서 기존 레코드를 삭제합니다. |
개체의 새 레코드를 데이터베이스에 저장하려면
메서드에 값을 전달하여 레코드를 만듭니다
TableAdapter.Insert.다음 예제에서는 개체의
Customers값을currentCustomer메서드에 전달하여 테이블에 새 고객 레코드를TableAdapter.Insert만듭니다.private void AddNewCustomers(Customer currentCustomer) { customersTableAdapter.Insert( currentCustomer.CustomerID, currentCustomer.CompanyName, currentCustomer.ContactName, currentCustomer.ContactTitle, currentCustomer.Address, currentCustomer.City, currentCustomer.Region, currentCustomer.PostalCode, currentCustomer.Country, currentCustomer.Phone, currentCustomer.Fax); }
개체에서 데이터베이스로 기존 레코드를 업데이트하려면
메서드를
TableAdapter.Update호출하고, 새 값을 전달하여 레코드를 업데이트하고, 레코드를 찾기 위해 원래 값을 전달하여 레코드를 수정합니다.비고
Update메서드에 전달하기 위해 객체의 원래 값을 유지해야 합니다. 이 예제에서는 접두사를 가진orig속성을 사용하여 원래 값을 저장합니다.다음 예제는
Customers테이블의 기존 레코드를TableAdapter.Update메서드에Customer개체의 새 값과 원래 값을 전달하여 업데이트합니다.private void UpdateCustomer(Customer cust) { customersTableAdapter.Update( cust.CustomerID, cust.CompanyName, cust.ContactName, cust.ContactTitle, cust.Address, cust.City, cust.Region, cust.PostalCode, cust.Country, cust.Phone, cust.Fax, cust.origCustomerID, cust.origCompanyName, cust.origContactName, cust.origContactTitle, cust.origAddress, cust.origCity, cust.origRegion, cust.origPostalCode, cust.origCountry, cust.origPhone, cust.origFax); }
데이터베이스에서 기존 레코드를 삭제하려면
TableAdapter.Delete메서드를 호출하고 기존 값을 전달하여 레코드를 찾아 삭제합니다.비고
개체가 원래 값을 유지하여
Delete메서드에 전달해야 합니다. 이 예제에서는 접두사를 가진orig속성을 사용하여 원래 값을 저장합니다.다음 예제는
Customer개체의 원래 값을TableAdapter.Delete메서드에 전달하여Customers테이블에서 레코드를 삭제합니다.
.NET 보안
선택한 INSERT, UPDATE 또는 데이터베이스의 DELETE 테이블에 대해 작업을 수행할 권한이 있어야 합니다.