Null Object of Connection is not opened

Soms krijg je deze fout bij een databaseverbinding die niet werkt (bv omdat server niet bereikbaar is of de database niet gestart is op je dev station).

Mijn database code zit in een module, bv MData.
Ik gebruikte deze test:

Dim myResult As Result
'
Try myResult = MData.getAllLines()
'
If Error Then
  doLog(Error.Text)
Else
  If myResult.Available Then
    ... use data...
  Endif

Maar dat is niet genoeg; als de fout, zoals hier, in de MData gebeurt, krijg je toch een situatie waar de Try geen fout geeft, maar myResult NULL is, en het programma crasht op myResult.Available: NULL Object.

Dim myResult As Result
'
Try myResult = MData.getAllLines()
'
If Error Or (myResult = NULL) Then
  doLog(Error.Text)
Else
  If myResult.Available Then
    ... use data...
  Endif

Hier wordt de foutmelding: “Connection is not opened

Wat ook werkt:

Dim myResult As Result
'
Try myResult = MData.getAllLines()
'
If (myResult = NULL) Then
  doLog(Error.Text)
Else
  If myResult.Available Then
    ... use data...
  Endif

Hier wordt de foutmelding eveneens “Connection is not opened“.

Je slaat dan wel de test op If Error over, kan dat…

Als je bv verkeerdelijk een paramater meegeeft in
MData.getAllLines(invalidparemater)
krijg je daar een foutmelding over: “Too many arguments“. Ja dus.

This entry was posted in Databank. Bookmark the permalink.