2016-12-06 8 views
0

Очень странно, у меня есть одна сетка, работающая и показывающая, что ей нужно, а две нет, и все они написаны одинаково.DataGridView не показывает данные VB.NET

код, который работает:

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

Что вам нужно попробовать, чтобы поставить точку останова в следующих строках:

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-запрос к вашему БД без исключений. Возможно, вы ошибочно написали имя поля или имена таблиц.