Rabee Qabaha Ответов: 3

Обновление пустого значения gridview (ссылка на объект не установлена на экземпляр объекта)


Привет всем я разрешаю пользователю обновлять данные базы данных sql server из datagridview и получаю значение из GridView следующим образом:
Dim rphone As String = MetroGrid2.Item(5, i).Value.ToString

Но если пользователь удаляет номер телефона из datagrid и номер телефона пуст, я получаю эту ошибку "ССЫЛКА на объект не установлена на экземпляр объекта." номер столбца в базе данных допускают значение null.
в чем проблема??

Что я уже пробовал:

Дим rphone как String = MetroGrid2.Пункт(5, я).Значение.Метод toString

3 Ответов

Рейтинг:
5

Rabee Qabaha

я сделал это вот так, Спасибо за помощь

Dim sname As String
           If MetroGrid2.Item(7, i).Value Is Nothing Then
               sname = ""
           Else
               sname = MetroGrid2.Item(7, i).Value
           End If


Рейтинг:
24

Karthik_Mahalingam

Это одна из распространенных ошибок, с которой сталкиваются разработчики, и этот вопрос часто задают.
При попытке получить доступ к свойству или методу из объекта, который является нулевым, возникает ошибка.
чтобы избежать этой ошибки, вам просто нужно проверить объект на наличие нулевых значений, а затем получить к ним доступ.
обратитесь к этому простому примеру.

       SomeClass obj = null;
       obj.SomeProperty = 25; // error will be thrown
       obj.SomeMethod(); // errow will be thrown


       if (null != obj)
       {
           obj.SomeProperty = 25; // valid
           obj.SomeMethod();  // valid

       }

// sample class
public class SomeClass
    {
        public int SomeProperty { get; set; }
        public void SomeMethod() { }
    }      

Точно так же вам придется проверить все объекты и свойства и их объекты соответственно, прежде чем обращаться к ним.


Rabee Qabaha

@Картик Бангалор
тогда как я могу это сделать в моем случае?
все что я хочу чтобы клиент мог оставить пустое значение
затем обновите данные.

Karthik_Mahalingam

сначала проверьте null для этого
MetroGrid2. пункт (5, i)
и затем
MetroGrid2.Пункт(5, я).Значение
после того, чем тот, который вы должны позвонить
MetroGrid2.Пункт(5, я).Значение.Метод toString

Рейтинг:
0

Patrice T

Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
Когда код не делает того, что ожидается, вы близки к ошибке.