DataGridView没有显示数据VB.NET

时间:2016-12-06 03:20:55

标签: vb.net ms-access datagridview oledb

这很奇怪,我有一个网格工作并显示它需要什么,两个不是,它们都以相同的方式编写。

有效的代码:

Private Sub Form2_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    access.ExecQuery("SELECT emotion1,emotion2,emotion3,emotion4,emotion5, " & _
                     "situation1,situation2,situation3, " & _
                     "physical1,physical2,physical3,physical4,physical5 " & _
                     "FROM emotionlogdb ORDER BY id DESC;")
    If Not String.IsNullOrEmpty(access.exception) Then
        MsgBox(access.exception) : Exit Sub
    End If
    DataGridView1.DataSource = access.DBDT

End Sub

这两个代码没有:

 Private Sub Form5_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    access.ExecQuery("SELECT journal FROM journalDB ORDER BY id DESC")
    If Not String.IsNullOrEmpty(access.exception) Then
        MsgBox(access.exception) : Exit Sub
    End If
    DataGridView1.DataSource = access.DBDT
End Sub

并且:

 Private Sub Form6_Shown(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim sit As Integer = Alg.sitMode
    Dim em As Integer = Alg.emMode

    Access.ExecQuery("SELECT EmPlusSitMemo FROM TrendsDB WHERE EmotionID1= " & em & "AND SitID1= " & sit & ";")
    If Not String.IsNullOrEmpty(Access.exception) Then
        MsgBox(Access.exception) : Exit Sub
    End If
    DataGridView1.DataSource = Access.DBDT
End Sub

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要尝试的是在以下行添加断点:

access.ExecQuery("SELECT journal FROM journalDB ORDER BY id DESC")

Access.ExecQuery("SELECT EmPlusSitMemo FROM TrendsDB WHERE EmotionID1= " & em & "AND SitID1= " & sit & ";")

然后在调试模式下运行项目。如果您使用的是MS Visual Studio,则需要按F5键。但您还需要将解决方案配置设置为Debug(以启用调试符号的生成)而不是Release。

当您在调试模式下启动应用程序时,生成必要的用户活动(即单击链接,按钮)以到达显示这两个非工作空表单的位置。如果您设法提升Form5_Shown或Form6_Shown事件,调试器将停止在您设置的那些断点处。

然后按F10(如果您使用的是Visual Stuido,请再次按下),看看对数据库的SQL查询是否执行没有异常。也许你拼错了字段名称或表名。