在读取其值之前,验证DataRow中是否存在列

CrB*_*uno 20 c#

我如何编写读取DataRow的代码,但是如果在DataRow中存在的代码不存在,它只是跳过它并继续前进,例如:

string BarcodeIssueUnit;
if (dr_art_line["BarcodeIssueUnit"].ToString().Length <= 0)
{
    BarcodeIssueUnit = "";
}
else
{
    BarcodeIssueUnit = dr_art_line["BarcodeIssueUnit"].ToString();
}
Run Code Online (Sandbox Code Playgroud)

现在,列BarcodeIssueUnit可以属于表,但在某些情况下,表中不存在该列.如果它不在那里我读了它,我得到这个错误:

System.ArgumentException: Column `BarcodeIssueUnit` 
does not belong to table Line.
Run Code Online (Sandbox Code Playgroud)

我只是想检查列是否正常,让我们看看值,如果不是,只需跳过该部分继续.

Nik*_*wal 46

使用检查列名称DataRow.Table.Columns.如果有转换价值出来.

BarcodeIssueUnit = dr_art_line.Table.Columns.Contains("BarcodeIssueUnit")?
                   dr_art_line["BarcodeIssueUnit"].ToString(): "";
Run Code Online (Sandbox Code Playgroud)


Tim*_*ter 5

if(dr_art_line.Table.Columns.Contains("BarcodeIssueUnit"))
{
    BarcodeIssueUnit = dr_art_line.Field<String>("BarcodeIssueUnit");
}
else
{
    BarcodeIssueUnit = String.Empty;
}
Run Code Online (Sandbox Code Playgroud)

http://msdn.microsoft.com/en-us/library/system.data.datacolumncollection.contains.aspx