Domino 9 und frühere Versionen > ND7: Entwicklung

result.Execute Problem mit 2 Abfragen in einem ODBCResult (läuft auf Error)

(1/2) > >>

Klaas:
Hallo,
ich arbeite grade an einer Verbindung zwischen einer IBM i5 und Notes.
Dabei nutze ich eine ODBC Schnittstelle.
Nun möchte ich nach meiner ersten Abfrage eine 2. Abfrage aus einer anderen Tabelle machen.
Diese Abfrage kann auch nichts zurück geben.
Aber egal wie ich versuche das ODBCResult auf eine leere Rückgabe zu überprüfen läuft es immer auf den Errorhdl. und "If Not result.Execute Then Goto Ende" wirkt nicht.
Habt Ihr eine Lösung?
Hier der Code der 2. Abfrage.

--- Code: ---'######################### 2. SQL-Abfrage ####################################################
qry.SQL =  "SELECT IHIDNR , IHAEVK , IHAECM FROM ANWDTA.IDHINP WHERE IHIDNR = "+ uidoc.FieldGetText( "fdMAWSTeilID")
If Not result.Execute Then Goto Ende
result.FirstRow
Dummy(0) = Cstr(result.GetValue("IHAEVK"))+Cstr(result.GetValue("IHAECM"))
Do
result.NextRow
Dummy(n) = Cstr(result.GetValue("IHAEVK"))+Cstr(result.GetValue("IHAECM"))
n = n +1
Loop Until result.IsEndOfData
If Not doc Is Nothing  And Dummy(0) <>""Then
Call doc.ReplaceItemValue("fdMAWKdAMaßk", Fulltrim(Dummy) )
End If

--- Ende Code ---
Ich hoffe ich habe mich nicht zu kompliziert ausgedrückt.
Vielen Dank für eure Hilfe.

Klaas

ata:
Hallo Klaas,

... works as designed. Der Execute lässt sich ausführen, auch wenn er leer liefert. Du musst das Result überprüfen - auf die schnelle gedacht...

Toni

Klaas:
Habe ich.

Zum beispiel habe ich schon die probiert einfach das result aus zu lesen

--- Code: ---Dummy(0) = Cstr(result.GetValue("IHAEVK"))
If Dummy(0) ="" Then Goto Ende

--- Ende Code ---
Oder auch

--- Code: ---If Cstr(result.GetValue("IHAEVK")) ="" Then Goto Ende

--- Ende Code ---
Aber jedes mal wenn ich irgendwelche anstallten mache das Result zu lesen läuft er auf einen Error, weil es ja leer ist.

ata:
... dann fang den Fehler doch ab - du hast doch eine Fehlernummer...

=> On Error [Fehlernummer] GoTo [Sprungmarke]

Toni

koehlerbv:
Du musst mit
result.IsResultSetAvailable
prüfen.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln