2015-01-15 3 views
-1

Это для вставки ученика в базу данных, После того, как вставка завершена, набор данных возвращается. Эта же хранимая процедура используется для вставки и изменения сведений о студенте на основе идентификатора студента. Insert возвращает две таблицы, где, как Modify возвращает одну таблицу .Во изменения, то возбуждается исключение на внутренней, если заявлениеНе удается найти таблицу 1 .IndexOutOfRangeException был необработанным

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; 
       } 

ответ

-1

Я решил эту проблему, сделав следующее изменение, если заявление внутри.

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

Так что вы говорите, что вы использовали мой ответ? –

2

Вы, кажется, требует, чтобы было 2 стола или больше не один или более, изменить

dsFeeTransaction.Tables.Count > 0 

к этому

dsFeeTransaction.Tables.Count > 1 
+0

Это не имеет никакого значения. – saurabh64

+0

@ saurabh64 он делает, потому что тогда индекс никогда не будет вне диапазона, и вы не получите исключение –

Смежные вопросы