Autor Thema: result.Execute Problem mit 2 Abfragen in einem ODBCResult (läuft auf Error)  (Gelesen 2120 mal)

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
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	
Ich hoffe ich habe mich nicht zu kompliziert ausgedrückt.
Vielen Dank für eure Hilfe.

Klaas

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
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
Grüßle Toni :)

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
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
Oder auch
Code
If Cstr(result.GetValue("IHAEVK")) ="" Then Goto Ende
Aber jedes mal wenn ich irgendwelche anstallten mache das Result zu lesen läuft er auf einen Error, weil es ja leer ist.

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... dann fang den Fehler doch ab - du hast doch eine Fehlernummer...

=> On Error [Fehlernummer] GoTo [Sprungmarke]

Toni
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Du musst mit
result.IsResultSetAvailable
prüfen.

Bernhard

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Hallo Toni , hallo Bernhard,

ich habe jetzt dies hier eingefügt und es funktioniert so wie ich es mir vorgestellt habe.
Code
If Not result.IsResultSetAvailable Then Goto Ende

Vielen Dank für euer Hilfe.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz