datagridview上的更新不会使用update语句更新本地数据库

时间:2015-04-01 11:50:32

标签: sql-server vb.net winforms datagridview

我有一个登录表单,应该使用当前登录的用户更新我的本地数据库。在form_load上,它通过tableadapter将所有用户从DB拉到隐藏的datagridview,然后通过计时器每5秒刷新一次。

登录时会禁用计时器,更改datagridview上的单个值,然后运行表adapter.update语句。完成后,它再次启用计时器以刷新datagridview。

我的问题是,在运行时进行测试时,datagridview是可见的,可以看到它更改了用户的值,但是一旦刷新,它就会回到旧值。 loginBtn_Click和Timer1_Tick的代码如下:

Private Sub LoginBtn_Click(sender As Object, e As EventArgs) Handles LoginBtn.Click
    If PWTxt.Text = PW Then
        If DataGridView1.Item(4, temppos).Value = False Then
            Timer1.Enabled = False
            LoggedInID = tempID
            DataGridView1.Item(4, temppos).Value = True
            Me.LoginTableAdapter.Update(LoginDataSet)
            MenuForm.Show()
            MenuForm.Focus()
            Timer1.Enabled = True
        Else
            MsgBox(Trim(tempID) & " is currently logged in. Please contact your Systems Administrator.")
            End
        End If
    Else
        MsgBox("Invalid Password")
        LoggedInID = ""
    End If
End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    Try
        Me.LoginTableAdapter.Fill(Me.LoginDataSet.Login)
    Catch ex As Exception
        MsgBox("Failed to refresh. Error : " & vbCrLf & ex.Message)
    End Try
End Sub

任何解释或解决方案都将不胜感激。 提前谢谢。

0 个答案:

没有答案