Лучший способ проверить, возвращает ли столбец нулевое значение (из базы данных в приложение .net)

Наиболее распространенная идиома для создания двумерного массива с 5 строками и 10 столбцами:

int[][] multD = new int[5][10];

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

int[][] multD = new int[5][];
for (int i = 0; i < 5; i++) {
  multD[i] = new int[10];
}
29
задан soldieraman 7 January 2010 в 01:04
поделиться

6 ответов

Используйте DBNull.Value.Equals для объекта без преобразования его в строку.

Вот пример:

   if (! DBNull.Value.Equals(row[fieldName])) 
   {
      //not null
   }
   else
   {
      //null
   }
79
ответ дан jball 7 January 2010 в 01:04
поделиться
System.Convert.IsDbNull][1](table.rows[0][0]);

IIRC, (table.rows[0][0] == null) не будет работать, как DbNull.Value != null;

3
ответ дан TechnicalKalsa 7 January 2010 в 01:04
поделиться

Просто используйте DataRow.IsNull . Он имеет переопределения, принимающие в качестве параметров индекс столбца , имя столбца или объект DataColumn .

Пример использования индекса столбца:

if (table.rows[0].IsNull(0))
{
    //Whatever I want to do
}

И хотя функция называется IsNull, она действительно сравнивается с DbNull (что именно то, что вам нужно).


Что если я хочу проверить DbNull, но у меня нет DataRow? Используйте Convert.IsDBNull .

9
ответ дан Mariano Desanze 7 January 2010 в 01:04
поделиться

Если мы используем EF и читаем элемент базы данных в цикле while, то

   using( var idr = connection, SP.......)
   {
       while(idr.read())
       {
          if(String.IsNullOrEmpty(idr["ColumnNameFromDB"].ToString())
          //do something
       }
   }
0
ответ дан Yesub 7 January 2010 в 01:04
поделиться

Просто проверьте на

if(table.rows[0][0] == null)
{
     //Whatever I want to do
}

или вы можете

if(t.Rows[0].IsNull(0))
{
     //Whatever I want to do
}
-5
ответ дан Rabbi 7 January 2010 в 01:04
поделиться

row.IsNull ( "столбец")

0
ответ дан jspcal 7 January 2010 в 01:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: