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 に答える