본문으로 바로가기
Data Table 행 편집

1. 편집할 행의 인덱스를 알지 못하는 경우 DataTable의 레코드 편집

생성된 FindBy 메서드를 사용하여 특정 DataRow를 변수에 할당한 다음 해당 변수를 사용하여 편집할 열에 액세스하고 새 값을 할당합니다.

Dim customersRow As NorthwindDataSet.CustomersRow
customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")

customersRow.CompanyName = "Updated Company Name"
customersRow.City = "Seattle"


대개 편집할 행의 인덱스를 알지 못합니다. 형식화되지 않은 데이터 집합의 데이터 테이블은 DataRow의 배열을 반환하는 Select 메서드와 함께 만들어집니다.
 
형식화되지 않은 데이터 집합의 기존 레코드를 업데이트하려면(행 인덱스를 알지 못하는 경우)
 
DataTable 의 Select 메서드를 사용하여 특정 행을 찾고 원하는 열에 새 값을 할당합니다.

 Dim customerRow() As Data.DataRow
customerRow = DataSet1.Tables("Customers").Select("CustomerID = 'ALFKI'")

customerRow(0)("CompanyName") = "Updated Company Name"
customerRow(0)("City") = "Seattle"


2. 편집할 행의 인덱스를 알고 있는 경우  DataTable의 레코드 편집

DataSet1.Tables(0).Rows(4).Item(0) = "Updated Company Name"
DataSet1.Tables(0).Rows(4).Item(1) = "Seattle"


DataSet1.Tables("Customers").Rows(4).Item("CompanyName") = "Updated Company Name"
DataSet1.Tables("Customers").Rows(4).Item("City") = "Seattle"


DataTable에 행 추가

1. 형식화된 데이터집합에 새 레코드 삽입

데이터 집합의 새 인스턴스를 선언합니다. 

Dim newCustomersRow As NorthwindDataSet.CustomersRow
newCustomersRow = NorthwindDataSet1.Customers.NewCustomersRow()

newCustomersRow.CustomerID = "ALFKI"
newCustomersRow.CompanyName = "Alfreds Futterkiste"

NorthwindDataSet1.Customers.Rows.Add(newCustomersRow)




2. 형식화되지 않은 데이터집합에 새 레코드 삽입


Dim newCustomersRow As DataRow = DataSet1.Tables("Customers").NewRow()

newCustomersRow("CustomerID") = "ALFKI"
newCustomersRow("CompanyName") = "Alfreds Futterkiste"

DataSet1.Tables("Customers").Rows.Add(newCustomersRow)



DataTable에서 행 삭제

NorthwindDataSet1.Customers.Rows(0).Delete()


DataSet1.Tables("Customers").Rows(0).Delete()

 

변경 내용 커밋

업데이트, 삽입, 삭제하고 나서 DataSet, DataTable 또는 DataRow의 AcceptChanges 메서드를 호출하여 변경 내용을 커밋할 수 있습니다.

NorthwindDataSet1.Customers.AcceptChanges()







쿼리로 삭제와 삽입

        Dim con As New SqlConnection
        Dim cmd As New SqlCommand


        Try
            con.ConnectionString = "Data Source=서버명; Initial Catalog=DB명;Persist Security Info=True;User ID=sa;Password=암호"
            con.Open()
            cmd.Connection = con

            cmd.CommandText = "DELETE FROM [ACTDB].[dbo].[PA25230R] WHERE RCHECKNO='홍길동'"
            cmd.ExecuteNonQuery()

        Catch ex As Exception
            MessageBox.Show(ex.Message, "Delete Records")
        Finally
            con.Close()
        End Try


        MsgBox("레코드가 삭제되었습니다. ", MsgBoxStyle.Information, "삭제 완료")

        Me.Dispose()