找不到 table 1 .IndexOutOfRangeException 未处理

Cannot find table 1 .IndexOutOfRangeException was unhandled

这用于在数据库中插入学生, 插入完成后返回一个数据集。 相同的存储过程用于根据学生 ID 插入和修改学生详细信息。 Insert returns two tables where as modify returns a single table .During modify, the exception is raised at the inside if statement

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 个或更多表,而不是一个或多个,所以更改此设置

dsFeeTransaction.Tables.Count > 0

到这个

dsFeeTransaction.Tables.Count > 1

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

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