2013-02-25 225 views
0

我使用数据库中的数据填充了对象datatable,我需要检查它们中的一些是否为NULL并将其设置为空字符串
问题是某些数据在数据库中是NULL,但在DataTable中它们是“0”
我试图设置为"",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,但在DataTable中为”0“。我不相信你。 :)你能写一个示例程序来演示这个吗?我从来没有见过这种行为。 – aquinas 2013-02-25 16:38:03

+0

你需要先理解数据库模式,如果它允许null,然后设置为string.empty将工作。如果不是那么你需要将空值设置为DBNUll和“”是不一样的设置为空 – MethodMan 2013-02-25 16:41:36

+0

相信我: )int列中为空,日期列为null。我在Row.ItemArray [0] = 0,'Row.ItemArray [0] = {1/1/1900 12:00:00 AM}'DataTable''。 – 1110 2013-02-25 16:56:39

回答

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; 
相关问题