같은 일이 vb.net 응용 프로그램에서 여러 번 저장지고있는 gridview 데이터로 저장하는 동안 : 난로드 이벤트에 vb.net 윈도우 응용 프로그램 나는이 같은 그리드보기를
일하고 난 같은 코드를 부여 저장 버튼 내가 다음과 같은 코드를 부여
Dim cd As SqlCommandBuilder = New SqlCommandBuilder(adapter)
adapter = New SqlDataAdapter("select c.cid,c.CompanyName as Company,d.dtId,d.dtName as Department,d.dtPhone as D.phone,d.dtEmail as D.mail from CompanyMaster_tbl c join DepartmentMaster_tbl d on c.Cid=d.cId", con.connect)
dt1 = New DataTable
bSource = New BindingSource
adapter.Fill(dt1) 'Filling dt with the information from the DB
bSource.DataSource = dt1
gv.DataSource = bSource
gv.Columns("cid").Visible = False
gv.Columns("dtId").Visible = False
에서 :이이 경우 전나무에
Dim sqlInsertT1 As String = ""
Dim sqlInsertT2 As String = ""
For i As Integer = 0 To gv.RowCount - 2
If gv.Rows(i).Cells(1).Value IsNot System.DBNull.Value Then
sqlInsertT1 = "Insert Into CompanyMaster_tbl(CompanyName) Values ('" + gv.Rows(i).Cells(1).Value + "')"
Exetransaction(sqlInsertT1)
Ccid = RecordID("Cid", "CompanyMaster_tbl", "CompanyName", gv.Rows(i).Cells(1).Value)
End If
sqlInsertT2 = "Insert Into DepartmentMaster_tbl(dtname,dtphone,dtEmail,Cid) Values ('" + gv.Rows(i).Cells(3).Value + "','" + gv.Rows(i).Cells(4).Value + "','" + gv.Rows(i).Cells(5).Value + "'," & Ccid & ");"
Exetransaction(sqlInsertT2)
Next
나는 회사의 아래에 세 개의 부서를 추가 Y IBS, 그럼 나는 처음으로 모든 것이 올바르게 저장되었습니다. 다시 나는 응용 프로그램을 실행하고 comapny IBS 아래에 하나 이상의 부서, 전화, 메일을 추가했습니다. 그때 나는 save button .. but를 다시 클릭했다. 같은 부서가 저장되고있다. (나는 모든 부서를 다시 저장하고 싶지 않다. 단지 마지막으로 추가 된 부서, 전화, 이메일을 저장하고 싶지 않다.) .. 그래서 나는 내 코드에서 바꿔야 만한다.
SQL 쿼리를 위해 concatonate하지 마십시오. 매개 변수 (예 : SqlParameters)를 사용하십시오. 당신은 ' –