如果数据集有行?

CrB*_*uno 0 c#

我还有一个问题

我有这个foreach声明:

foreach (DataRow dr_art_custsuply in ds.Tables["CustomerSupplier"].Rows)
{
    //Podaci iz CustomerSupplier-a

    //Id dobavlja?a
    string cust_id;
    if (!dr_art_custsuply.Table.Columns.Contains("Id"))
        cust_id = "";
    else if (dr_art_custsuply["Id"].ToString().Length <= 0)
        cust_id = "";
    else
        cust_id = dr_art_custsuply["Id"].ToString();

    //Naziv dobavlja?a
    string name;
    if (!dr_art_custsuply.Table.Columns.Contains("Name"))
        name = "";
    else if (dr_art_custsuply["Name"].ToString().Length <= 0)
        name = "";
    else
        name = dr_art_custsuply["Name"].ToString();  

   //GLN
   string gln;
   if (!dr_art_custsuply.Table.Columns.Contains("GLN"))
        gln = "";
   else if (dr_art_custsuply["GLN"].ToString().Length <= 0)
        gln = "";
   else
        gln = dr_art_custsuply["GLN"].ToString();
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是检查是否ds.Tables ["CustomerSupplier"].行存在,如果没有为每个跳过这个,是不是通过代码,我试过这个

(!ds.Tables.Contains("CustomerSupplier"))
{
}
Run Code Online (Sandbox Code Playgroud)

但我得到了一个错误,所以帮忙帮忙,怎么写呢?

谢谢!

Ode*_*ded 5

如果没有行,则您当前的代码已经跳过了正文foreach.

foreach (DataRow dr_art_custsuply in ds.Tables["CustomerSupplier"].Rows)
Run Code Online (Sandbox Code Playgroud)

该行将结束,foreach如果没有行,则不会执行正文中的代码.

更新:

您的问题并不完全清楚,但似乎您需要检查表格是否实际位于数据集中.总结以下ifforeach来测试它的存在:

if(ds.Tables["CustomerSupplier"] != null)
Run Code Online (Sandbox Code Playgroud)