tableadapter不更新本地数据库表

时间:2015-02-01 22:16:48

标签: sql-server vb.net visual-studio-2013

我有一个登录表单,可以将已登录的用户保存到表中,并在退出应用程序时将其删除。问题是当在表适配器中运行update方法时,它不返回错误但不更新db表

以下代码:

  Sub passwordValid()
    Hide()
    Try
        Dim userIDAdd As String = DataGridView1.Rows(0).Cells(0).Value
        Dim userRightsAdd As String = DataGridView1.Rows(0).Cells(4).Value
        Dim CurrentDateTime As Date = Now

        Dim AddRow As DataRow = LocalDB1DataSet.Tables("LoggedOn").NewRow
        AddRow(0) = userIDAdd
        AddRow(1) = userRightsAdd
        AddRow(2) = CurrentDateTime
        LocalDB1DataSet.Tables("LoggedOn").Rows.Add(AddRow)
        Try
            Me.Validate()
            Me.LoggedOnBindingSource.EndEdit()
            Me.LoggedOnTableAdapter.Update(Me.LocalDB1DataSet.LoggedOn)
            MsgBox("Logged In as: " & LoggedInUser)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
    Main.Show()
End Sub

非常感谢任何帮助或解释。

1 个答案:

答案 0 :(得分:0)

我根据@jmcilhinney所说的做了一些研究:

  

更新返回1然后保存了一条记录。如果您已经按照我提供的链接进行操作,那么您现在应该知道您正在查找错误的数据库,并且默认情况下,每次重建项目时都会覆盖要查找的正确数据库。

事实证明这不是完全的情况,但它让我知道了这个原因。每次编译时,它都会替换旧数据库,但该数据库保持空白,但如果应用程序通过VS运行,则会创建数据库的备份数据库,当应用程序在VS中停止时,它会使用备份恢复已发布的数据库D B。这是我自己的结论。