1
string Query = "SELECT [AA], [TEXT] FROM [TABLE] WHERE FK_ML_PROGRAM=200 AND FK_ML_LANGUAGE=" +  Convert.ToInt32(cboLanguage.SelectedIndex) + " AND AA like 'Msg_%' ORDER BY ID ";
LanguageData = DAL.ExecuteDataTable(Query);

private DataRow GetRows(string b)
{
    DataRow[] result_start = LanguageData.Select("AA='" + b.ToString() + "'");
    DataRow Row = result_start[0];

    return Row;
}

当我运行应用程序时,它会抛出一个IndexOutOfRangeException. 关于造成这种情况的任何想法?

4

2 回答 2

5

result_start可能没有元素。你需要一张支票:

private DataRow GetRows(string b)
{
    DataRow[] result_start = LanguageData.Select("AA='" + b.ToString() + "'");
    if (results_start.Length > 0)
        return result_start[0];

    return null;
}
于 2013-07-12T19:30:44.420 回答
1

过滤器似乎与已返回的数据集中的任何行都不匹配。

在尝试从中获取特定行之前,您需要检查 result_start 是否有行。

于 2013-07-12T19:30:36.230 回答