2013-02-25 4 views
0

Я заполнил datatable объект с данными из базы данных, и мне нужно проверить, есть ли некоторые из них NULL и установить его на пустую строку.
Проблема в том, что некоторые данные NULL в базе данных, но они «0» в DataTable.
Я попытался установить "", String.EmptyString и т.д. ничего не работает.
Как установить нулевые данные в DataTable для пустой строки

foreach (DataRow row in ds.Tables[0].Rows) 
{ 
    foreach (DataColumn c in ds.Tables[0].Columns) 
    { 
     object value = row[c]; 

     if (value == DBNull.Value) 
     { 
      try 
      { 
       row[c] = ""; 
+1

«Проблема в том, что некоторые данные имеют NULL в базе данных, но они« 0 »в DataTable». Я тебе не верю. :) Можете ли вы написать образец программы, чтобы продемонстрировать это? Я НИКОГДА не видел такого поведения раньше. – aquinas

+0

Вам нужно сначала понять, что схема базы данных, если она разрешает null, а затем устанавливает значение string.empty, будет работать .if тогда вам не нужно устанавливать нулевые значения в DBNUll, а «» - это не то же самое, что установка в значение null – MethodMan

+0

Поверьте мне:) В столбце int столбец null и date равен null. I DataTable в 'Row.ItemArray [0] = 0',' Row.ItemArray [0] = {1/1/1900 12:00:00 AM} '. – 1110

ответ

1

попытаться изменить;

foreach (DataRow row in ds.Tables[0].Rows) 
{ 
    foreach (DataColumn c in ds.Tables[0].Columns) 
    { 
     if (row.IsNull(c)) 
     { 
      try 
      { 
       row[c] = string.Empty; 
Смежные вопросы