2017-02-22 5 views
-2

Первый поиск, который я выполняю, всегда успешный, но при повторном поиске снова появляется следующая ошибка. Любая помощь будет оценена по достоинству.Просьба помочь с ошибкой Vb.net

Vb.net Error

+0

Ошибка сама уже говорит вам, в чем проблема. Из кода на этом изображении у вашего набора данных нет таблицы, если значение eval истинно. – EdSF

+0

Ник, добро пожаловать в SO. Пожалуйста, возьмите [тур], чтобы понять, как все работает здесь. На ваш вопрос был дан ответ. Вы должны рассмотреть возможность его маркировки как принятой. Я также настоятельно рекомендую просмотреть дублируемую ссылку, так как это поможет вам лучше понять вашу ошибку. – Bugs

+0

Просьба прочитать [ask] и взять [тур]. Вопросам нужен связанный код в вопросе как текст, а не ссылки, а не картинки. То же самое для сообщений об ошибках. – Plutonix

ответ

0

Как EdSF points out у вас нет таблиц после первого поиска. Это связано с тем, что вы установили IsFind, чтобы убедиться, что вы уже искали, но в любом случае вы создаете новый набор данных datast = New DataSet, который не будет иметь таблиц.

Если бы это было непреднамеренным, то вы можете сделать:

If datast IsNot Nothing AndAlso datast.Tables IsNot Nothing AndAlso datast.Tables("tblproduct") IsNot Nothing Then

Или короткий путь (VS2015 +) с использованием нулевого распространения.

datast?.Tables?("tblproduct")?.Clear()

Если это предназначено, и вы хотите новый DataSet каждый раз, а затем просто удалить, что If блок, он ничего не делает.

+1

Кажется, что использование нулевого распространения '? .' в такой ситуации делает код менее понятным для других. – Fabio

+0

Это так, но опция есть, если они так выбирают –