这很奇怪,我有一个网格工作并显示它需要什么,两个不是,它们都以相同的方式编写。
有效的代码:
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
我做错了什么?
答案 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查询是否执行没有异常。也许你拼错了字段名称或表名。