2013-05-09 2 views
0

Использование vb.net и сервер SQLVB.Net Dataset проверки нулевой

поэтому я набор данных, как это:

Dim ds3 As New FOCUSDataSetTableAdapters.GajiTableAdapter 

и я хочу, чтобы получить элемент в наборе данных в массив. но набор данных пуст сейчас .. поэтому я стараюсь ..

Dim smp As New List(Of String)() 

Try 
    For i = 0 To ds3.GetData.Count - 1 
    If (ds3.GetData.Rows(0).Item(3) Is Nothing) Then 
    smp.Add("0") 
    End If 

    Next 
     Catch ex As Exception 
     i = i - 1 

     End Try 

Поэтому в основном то, что я хочу .. Если база данных является нулевым/пусто, то добавьте «0» в массив. Но каждый раз, когда я запускаю этот код, он только дает мне ошибку, что теперь есть строка в текущей позиции (0) ...

ответ

0

Ваш код должен что-то вроде этого (может быть, это необходимо сделать больше изменений - ваш фрагмент не может быть проверена):

Try 
    dim tbl as DataTable=ds3.GetData() 
    For i = 0 To tbl.Rows.Count - 1 
    If (tbl.Rows(i).Item(3) Is DBNull.Value) Then 
    smp.Add("0") 
    End If 

    Next 
Catch ex As Exception 
     i = i - 1 'rather strange and probably causes endless loop 

End Try 

Вы должны покупать в виду, что GetData метод возвращает DataTable и вы хотите перебрать Это. Пересмотрите свою обработку ошибок!

+0

хорошо .. получил это сейчас .. большое вам спасибо –

0

Я бы предположил (и я бы угадал), что набор данных не только пуст, но и никогда не был создан. Это приведет к нулевому исключению в методе ds3.GetData.Count.

Попробуйте запустить это в отладке и проверьте значение ds3 и сообщение в ex.

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