2015-06-20 61 views
0

我使用下面的代码从我的数据表中选择数据,但它引发了一个我不熟悉的异常。从数据表中选择和更新数据

“索引超出了数组的范围。”

tblRooms.Select(IDRoom = 4)这是在房间里IDRoom的价值,但我不知道它为什么会导致错误。

foreach (DataRow dr in tblRoomCart.Rows) 
{ 

    DataRow drRoom = tblRooms.Select("IDRoom =" + dr["IDRoom"])[0];//here the error in this line 
} 
+0

你可以删除'[0]',看看是什么发生? – Oluwafemi

+0

类型tblRooms它是表hotelid = 10000 \t IDRoom = 4 \t hotelid = 10000 \t IDRoom = 3957此\t的tblrooms – magdy

+0

内的值它给我错误,当我除去[0] – magdy

回答

0

如例外所述,索引超出范围,您正在读取第一个元素(索引为0),但集合中没有元素。
它是与此相同:

int[] array = new int[0]; 
int x = array[0];//You will get an exception here 

添加if语句,以确保至少有1元素,如:

int[] array = new int[0]; 
if (array.Length > 0) 
{ 
     int x = array[0]; 
}