找不到表1.IndexOutOfRangeException未处理

时间:2015-01-15 05:35:00

标签: c# winforms visual-studio-2010

这是为了在数据库中插入学生, 插入完成后返回一个数据集。 相同的存储过程用于根据学生ID插入和修改学生详细信息。 Insert返回两个表,其中modify返回一个表。在修改时,异常在内部if语句

引发
if (dsFeeTransaction != null && dsFeeTransaction.Tables.Count > 0 && dsFeeTransaction.Tables[0].Rows.Count > 0 ||dsFeeTransaction != null && dsFeeTransaction.Tables.Count > 0 && dsFeeTransaction.Tables[1].Rows.Count > 0)
                {
                    if(dsFeeTransaction != null && dsFeeTransaction.Tables.Count > 0 && dsFeeTransaction.Tables[1].Rows.Count > 0)
                     lblID.Text = dsFeeTransaction.Tables[1].Rows[0][0].ToString();
                    MessageBox.Show(dsFeeTransaction.Tables[0].Rows[0][0].ToString());
                    btnAssign.Enabled = true;
                }

2 个答案:

答案 0 :(得分:2)

你似乎要求有2个或更多的表而不是一个或多个,所以改变这个

dsFeeTransaction.Tables.Count > 0

到这个

dsFeeTransaction.Tables.Count > 1

答案 1 :(得分:-1)

我通过对内部if语句进行以下更改来解决这个问题。

if(dsFeeTransaction != null && dsFeeTransaction.Tables.Count > 1 && dsFeeTransaction.Tables[1].Rows.Count > 0)