.NET Framework 애플리케이션의 데이터베이스에 새 레코드 삽입
참고 항목
데이터 집합 및 관련 클래스는 2000년대 초반에 적용된 레거시 .NET Framework 기술로, 응용 프로그램이 데이터베이스에서 연결이 끊어진 동안 응용 프로그램이 메모리의 데이터로 작업할 수 있도록 합니다. 사용자가 데이터를 수정하고 변경 내용을 다시 데이터베이스에 유지할 수 있도록 하는 애플리케이션에 특히 유용합니다. 데이터 세트는 매우 성공적인 기술로 입증되었지만 새 .NET 애플리케이션은 Entity Framework Core를 사용하는 것이 좋습니다. Entity Framework는 표 형식 데이터를 개체 모델로 사용하는 더 자연스러운 방법을 제공하며 더 단순한 프로그래밍 인터페이스를 제공합니다.
.NET Framework 프로젝트에서 ADO.NET을 사용하여 데이터베이스에 새 레코드를 삽입하려면 TableAdapter.Update
메서드 또는 TableAdapter의 DBDirect 메서드 중 하나(특히 TableAdapter.Insert
메서드)를 사용할 수 있습니다. 자세한 내용은 TableAdapter를 참조하세요.
애플리케이션에서 TableAdapter를 사용하지 않는 경우 명령 개체(예: SqlCommand)를 사용하여 데이터베이스에 새 레코드를 삽입할 수 있습니다.
애플리케이션에서 데이터 세트를 사용하여 데이터를 저장하는 경우 TableAdapter.Update
메서드를 사용합니다. Update
메서드는 모든 변경 내용(업데이트, 삽입, 삭제)을 데이터베이스에 보냅니다.
애플리케이션에서 개체를 사용하여 데이터를 저장하는 경우나 데이터베이스에서 새 레코드를 만드는 방법을 더 세부적으로 제어하려는 경우 TableAdapter.Insert
메서드를 사용합니다.
TableAdapter에 Insert
메서드가 없는 경우 TableAdapter가 저장 프로시저를 사용하도록 구성되거나 해당 GenerateDBDirectMethods
속성이 false
로 설정됨을 의미합니다. 데이터 세트 디자이너 내에서 TableAdapter의 GenerateDBDirectMethods
속성을 true
로 설정한 다음, 데이터 세트를 저장합니다. 이 작업은 TableAdapter를 다시 생성합니다. TableAdapter에 여전히 Insert
메서드가 없는 경우 테이블에서 개별 행을 구분할 수 있는 충분한 스키마 정보를 제공하지 않을 수 있습니다(예: 테이블에 기본 키 집합이 없을 수 있음).
참고 항목
이 문서는 ADO.NET 및 .NET Framework 개발에 적용됩니다. Entity Framework 6을 사용한 동일한 작업은 컨텍스트에 새 항목 추가를 참조하세요. Entity Framework Core의 경우 데이터 추가를 참조하세요.
TableAdapter를 사용하여 새 레코드 삽입
TableAdapter는 애플리케이션의 요구 사항에 따라 데이터베이스에 새 레코드를 삽입하는 다양한 방법을 제공합니다.
응용 프로그램에서 데이터 집합을 사용하여 데이터를 저장하는 경우 데이터 집합에서 원하는 DataTable 레코드에 새 레코드를 추가한 다음 메서드를 호출 TableAdapter.Update
할 수 있습니다. TableAdapter.Update
메서드는 DataTable의 모든 변경 내용을 데이터베이스에 보냅니다(수정 및 삭제된 레코드 포함).
TableAdapter.Update 메서드를 사용하여 데이터베이스에 새 레코드를 삽입하려면
새 행이 DataTable에 추가된 후
TableAdapter.Update
메서드를 호출합니다. 전체 DataSet, DataTable, DataRow 배열 또는 단일 DataRow를 전달하여 업데이트할 데이터 양을 제어할 수 있습니다.다음 코드에서는 DataTable에 새 레코드를 추가한 다음,
TableAdapter.Update
메서드를 호출하여 새 행을 데이터베이스에 저장하는 방법을 보여 줍니다. (이 예제에서는 Northwind 데이터베이스의Region
테이블을 사용합니다.)// Create a new row. NorthwindDataSet.RegionRow newRegionRow; newRegionRow = northwindDataSet.Region.NewRegionRow(); newRegionRow.RegionID = 5; newRegionRow.RegionDescription = "NorthWestern"; // Add the row to the Region table this.northwindDataSet.Region.Rows.Add(newRegionRow); // Save the new row to the database this.regionTableAdapter.Update(this.northwindDataSet.Region);
TableAdapter.Insert 메서드를 사용하여 데이터베이스에 새 레코드를 삽입하려면
애플리케이션에서 개체를 사용하여 데이터를 저장하는 경우 TableAdapter.Insert
메서드를 사용하여 데이터베이스에 직접 새 행을 만들 수 있습니다. Insert
메서드는 각 열의 개별 값을 매개 변수로 수락합니다. 메서드를 호출하면 전달된 매개 변수 값을 사용하여 데이터베이스에 새 레코드가 삽입됩니다.
- TableAdapter의
Insert
메서드를 호출하여 각 열의 값을 매개 변수로 전달합니다.
다음 절차에서는 TableAdapter.Insert
메서드를 사용하여 행을 삽입하는 방법을 보여 줍니다. 이 예제에서는 Northwind 데이터베이스의 Region
테이블에 데이터를 삽입합니다.
참고 항목
사용할 수 있는 인스턴스가 없는 경우 사용하려는 TableAdapter를 인스턴스화합니다.
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter =
new NorthwindDataSetTableAdapters.RegionTableAdapter();
regionTableAdapter.Insert(5, "NorthWestern");
명령 개체를 사용하여 새 레코드 삽입
명령 개체를 사용하여 데이터베이스에 직접 새 레코드를 삽입할 수 있습니다.
명령 개체를 사용하여 데이터베이스에 새 레코드를 삽입하려면
- 새 명령 개체를 만든 다음, 해당
Connection
,CommandType
,CommandText
속성을 설정합니다.
다음 예제에서는 명령 개체를 사용하여 데이터베이스에 레코드를 삽입하는 방법을 보여 줍니다. 예제에서는 Northwind 데이터베이스의 Region
테이블에 데이터를 삽입합니다.
System.Data.SqlClient.SqlConnection sqlConnection1 =
new System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "INSERT Region (RegionID, RegionDescription) VALUES (5, 'NorthWestern')";
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();
.NET 보안
연결하려는 데이터베이스에 대한 액세스 권한과 원하는 테이블에 삽입을 수행할 수 있는 권한이 있어야 합니다.