.NET Framework 애플리케이션의 데이터베이스에 개체의 데이터 저장
참고 항목
데이터 집합 및 관련 클래스는 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
메서드에 값을 전달하여 레코드를 만듭니다.다음 예제에서는
currentCustomer
개체의 값을TableAdapter.Insert
메서드에 전달하여Customers
테이블에 새 고객 레코드를 만듭니다.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
접두사가 있는 속성을 사용하여 원래 값을 저장합니다.다음 예제에서는
Customer
개체의 새 값과 원래 값을TableAdapter.Update
메서드에 전달하여Customers
테이블에서 기존 레코드를 업데이트합니다.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
를 수행할 권한이 있어야 합니다.