2012-01-23 50 views
2

希望這是一個容易有沒有一種方法來測試的。‘使用的DataRow空’字段中輸入以下做工精細測試針對與空值的字段?不幸的是,我在處理與數據要麼填充或僅僅是「空」的欄目。有沒有在C#中我失去了一個辦法?謝謝的DataRow:檢查空(不是「空)的數據集字段

if (Particle.Tables.Count == 0 || pDr.ItemArray[1].ToString() == "") 
tblParticle.Append("No Data"); 
+0

重複的? http://stackoverflow.com/questions/2326341/c-sharp-datarow-empty-check – gabsferreira

+1

string.IsNullOrEmpty()爲null或零長度字符串 –

+1

如果你決定要一個DataRow返回或通過測試利用devGabriel發佈了這個令人敬畏的示例的鏈接,希望所有這些都有所幫助 – MethodMan

回答

5

可以使用stirng.isNullorEmpty檢查空的領域。 String.isNullorEmpty

if (Particle.Tables.Count == 0 || string.isNullorEmpty(pDr.ItemArray[1].ToString())) 
{ 
    tblParticle.Append("No Data"); 
} 

+0

我建議包裝if語句的代碼塊{}事件,他可能需要做一些不同的東西后來在路上... – MethodMan

+0

目前,雖然這一切都有助於,它仍然是不爲我工作。沒有解釋爲什麼。我可以看到數據庫中的字段是空的,我在技術上測試這個「應該」的工作?如果我測試了這個以及我不得不從頭開始並將數組位置更改爲已知「空值」的列,它就可以工作。 –

3
if (string.IsNullOrEmpty(pDr.ItemArray[1].ToString())) 
{ 
    tblParticle.Append("No Data"); 
} 
else 
{ 
    //else do something else 
} 

檢查NULL不會傷害記住,空和空是兩回事

+1

難道你沒有忘記「字符串」。在IsNullOrEmpty方法之前? – gabsferreira

+0

是比較遺憾的是..我打字的速度比我的想法..感謝devGabriel – MethodMan

+0

歡迎您! – gabsferreira

1

以下假定我們正在談論的字符串(VARCHAR/CHAR)列:

  • 如果你不在乎它是否爲空或空字符串,總要一個空字符串回,你可以使用DataRow["name"].ToString()
  • 如果你希望你的字符串對象成爲空或空就像字段的值,可以使用DataRow["name"] as string
  • 如果你想在NULL的情況下例外,你也許可以使用(string) DataRow["name"]