2016-12-26 55 views
0

如何检查Datagridview中是否没有更改,然后提示用户在我的datagridview中没有更改。我想在我的更新按钮中执行此操作,首先检查是否没有更改提示msgbox,然后退出sub。怎么做?可以说数据库中的数据已经加载到datagridview。如果没有更改,检查datagridview中的行和列vb.net

Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click 

'this line is what I want for checking will happen if there is no changes in data happens in datagridview 

     Dim row, id, dgvUnits As Integer 
     Dim dgvYearLevel, dgvSemester, dgvCNo, dgvCDescription As String 

     'Declared this variable to get value event click on dgv 
     row = DataGridView1.CurrentRow.Index 

     id = DataGridView1(6, row).Value 
     dgvYearLevel = DataGridView1(1, row).Value 
     dgvSemester = DataGridView1(2, row).Value 
     dgvCNo = DataGridView1(3, row).Value 
     dgvCDescription = DataGridView1(4, row).Value 
     dgvUnits = DataGridView1(5, row).Value 

     Try 
      con.Open() 

      With cmd 
       .Connection = con 
       .CommandText = "UPDATE tblcurriculumcourses SET YearLevel='" & dgvYearLevel & "', Semester='" & dgvSemester & "', CourseNo='" & dgvCNo & "', CourseDes='" & dgvCDescription & "', Units='" & dgvUnits & "' where PrimaryDummy='" & id & "'" 
      End With 
      cmd.ExecuteNonQuery() 


      MsgBox("Data Has Been Successfully Update!") 
     Catch ex As Exception 
      MsgBox("Error when updating data") 
     End Try 
+0

a)打开选项Strict b)始终使用SQL参数而不是串接少量的字符串来创建SQL c)如果您使用数据源,它会告诉您是否有更改d)如果您握住适配器它会为你更新 – Plutonix

+0

不知道该怎么做,我只是一个初学者。 –

回答

0

我没有一个合法的答案,但我有一个主意。也许,你可以调暗在DataGridView行作为一个数组或字符串中的一个,后来,按钮,你可以这样做

If DataGridView1(1, row).Value = TheArrayOrString Then 
'This is what you want it to do. Example: 
    MsgBox("Your table is the same!") 

也许,尝试类似的东西,另外,你必须为DataGridView选择所有行!它所做的是一旦你将DataGridView中的所有行都作为一个ArrayList,你可以测试它是否没有改变。因此,'如果DataGridView1(1,row).Valie = TheArrayOrString'正在测试DataGridView1表在一段时间内是否具有相同的内容。 'MsgBox(“你的桌子是一样的!”)'是自我解释。希望这有助于传播你的想象力!玩的开心! :)

+0

嗯..我不知道该怎么办。但你有一个好主意。 –

+0

你可以使用vb代码先生吗? –

相关问题