2015-04-09 1 views
0

Рассмотрим следующий фрагмент кода:Есть ли способ проверить недавно записанные данные в моей базе данных на моем VB.net?

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    If TextBox1.Text = ds.Tables("outputs").Rows(0).Item(0) And TextBox2.Text = ds.Tables("outputs").Rows(0).Item(1) Then 
     Me.Hide() 
     Form2.Show() 
    Else 
     Label3.Text = "invalid login" 
    End If 

    For a As Integer = 1 To 10 
     If TextBox1.Text = ds.Tables("outputs").Rows(a).Item(0) And TextBox2.Text = ds.Tables("outputs").Rows(a).Item(1) Then 
      Me.Hide() 
      Form2.Show() 
     Else 
      Label3.Text = "invalid login" 
     End If 
    Next 

End Sub 

Этот код выдает ошибку о том:

не существует ни в одной строке на позиции «независимо»

Я понимаю, что строка ИТС ищет еще будет создан после регистрации учетной записи. Стратегия my for loop работает только в том случае, если в базе данных уже есть данные (поэтому эта строка уже существует), и не будет такой ошибки, как мой код выше. Но что, если я хочу, чтобы новые данные были проверены? Я сделал серию работ, и лучшее, что я сделал, было зарегистрировано первым, выйти из программы, обновить мою базу данных, перезапустить программу и войти в систему с новыми записанными данными.

+0

Почему вы используете цикл для 1 до 10? Просто запустите цикл для требуемой длины. В этом случае это будет ** ds.Tables («выходы»). Rows.count - 1 ** – Mahadev

+0

thank u..i не знал, что он может использоваться как ограничитель –

ответ

0

Вы можете проверить строку таблицы подсчитывать сначала следующим образом:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    If ds.Tables("outputs").Rows.Count = 0 Then 
     Label3.Text = "invalid login" 
    Else  
     For a As Integer = 0 To ds.Tables("outputs").Rows.Count -1 
      If TextBox1.Text = ds.Tables("outputs").Rows(a).Item(0) AndAlso TextBox2.Text = ds.Tables("outputs").Rows(a).Item(1) Then 
       Me.Hide() 
       Form2.Show() 
       Exit For 
      Else 
       Label3.Text = "invalid login" 
      End If 
     Next 
    End If 
End Sub 
+0

спасибо ... я понятия не имею, что что вы можете поместить ds.tables в качестве ограничителя. –

Смежные вопросы