C#解决SQL server报错:无法找到表 0

错误提示:

System.IndexOutOfRangeException: 无法找到表 0

原因分析:

一般出现这种情况就是没有查出来数据,需要加个判断

if(ds == null)  //表示ds为空
if(ds.Tables.Count == 0)  // ds中没有表,ds.talbe[0]错误时无法找到表0
if(ds.Tables.Count == 1 && ds.Tables[0].Rows.Count == 0)   // ds中的表没有数据

解决方法:

if (ds != null && dataSet.Tables != null && dataSet.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
    表示有数据,在这里执行代码
}

也可以直接简化使用:

if (ds != null && ds.Tables[0].Rows.Count > 0)
{
    //表示有数据,在这里执行代码
}

封装函数:

/// 
/// 判断DataSet是否为空
/// 
/// 需要判断的DataSet
/// 如果ds为空,返回true
public bool JudgeDataSet(DataSet ds)
{
    bool Flag = false;
     if ((ds == null) || (ds.Tables.Count == 0) || (ds.Tables.Count == 1 && ds.Tables[0].Rows.Count == 0))
    {
        Flag = true;
    }
    return Flag;
}

 

你可能感兴趣的:(SQL,Server)