Не выводится сообщение об ошибке при асинхронном выполнении sql-запроса - VB

Узнай цену своей работы

Формулировка задачи:

Вот код:

Проблема в том, что если sCommandText = "Select 1/0", то сообщение об ошибке деления на ноль выводится, если sCommandText = "Select 1 Select 1/0" - нет. А я бы хотел получить сообщение об ошибке, даже если она возникнет после нескольких селектов, апдейтов, удалений (в реальной программе вызывается хранимая процедура, и нужно, чтобы было сообщение об ошибке, если вдруг что-то пойдет не так). Есть идеи, как этого добиться?

Решение задачи: «Не выводится сообщение об ошибке при асинхронном выполнении sql-запроса»

textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> cn_ExecuteComplete(<font color="blue">ByVal</font> RecordsAffected <font color="blue">As</font> <font color="blue">Long</font>, <font color="blue">ByVal</font> pError <font color="blue">As</font> ADODB.<font color="blue">Error</font>, adStatus <font color="blue">As</font> ADODB.EventStatusEnum, <font color="blue">ByVal</font> pCommand <font color="blue">As</font> ADODB.Command, <font color="blue">ByVal</font> pRecordset <font color="blue">As</font> ADODB.Recordset, <font color="blue">ByVal</font> pConnection <font color="blue">As</font> ADODB.Connection)
    
    <font color="00AA00">'check for errors during the asynchronous operation</font>
    <font color="blue">If</font> (adStatus = adStatusErrorsOccurred) <font color="blue">Then</font>
        MsgBox <font color="teal">"Error # "</font> & pError.Number & vbCrLf & pError.Description
        
    <font color="blue">Else</font>
      <font color="blue">Set</font> pRecordset = pRecordset.NextRecordset <font color="00AA00">'и вот тут возникает рантайм еррор для второго рекордсета</font>
      
    <font color="blue">End</font> <font color="blue">If</font>
    
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы