Überprüfen Sie die Abfrageergebnisse, wenn keine Daten zurückgegeben

Ich habe eine Abfrage, ich rufe zum aktualisieren eines E-Mail-service. Die meisten Zeiten, die Sie haben Daten, aber in der Prüfung kam ich über die situation, dass es nicht der Rückgabe alle Daten, weil es keine Daten zurückgeben. Im Falle, dass keine Daten gibt es zu der Fehlermeldung "Variable EDITEDACCTS ist nicht definiert".

Habe ich versucht, das einwickeln der Abfrage in einem <cftry> aber es funktioniert nicht ", nicht" per se so ist es keine Reise, die <cfcatch>. Ich habe auch versucht die variable definieren

var EditedAccts = QueryNew("")

sowie einfach versuchen

<cfif NOT isDefined(#EditedAccts#)>

und es gibt immer "Variable EDITEDACCTS ist nicht definiert".

Ich brauche eine produktionstaugliche Lösung für dieses, und ich bin in der Hoffnung hier irgendwo auf SO kann mir helfen.

Dank im Voraus für Eure Hilfe.

  • Verwenden Sie keine # Zeichen mit IsDefined(). Es bewirkt, dass die Bewertung von EditedAccts auslöst, die sehr-Fehler, den Sie versuchen, zu verhindern. Dies ist eine grundlegende select-Abfrage? Da das query-Objekt selbst sollte noch vorhanden sein, auch wenn es keine Datensätze enthält.
  • .. vergessen, um die richtige syntax für isDefined: <cfif NOT isDefined("EditedAccts")>
  • Danke @Leigh. Entfernen Sie das # - Zeichen gearbeitet. Ich dachte, es war etwas einfach, aber ich konnte nicht sehen, den Wald für die Bäume.
  • Gut. Also was für eine Art von sql-Anweisung, die Sie ausführen? Wie ich bereits erwähnt habe ein SELECT Abfrage sollte immer vorhanden sein. Einfach Fragen, wenn Sie lief in einem mögliche Fehler oder Missverständnisse cfquery.
  • Es ist ein SELECT - Anweisung mit einem paar von verschachtelten Abfragen, aber es war einfach ein Missverständnis meinerseits von isDefined() als eine Funktion. Ein perfektes Beispiel dafür, wie genial SO sein kann, wenn Sie gar nicht Vorhaben, die offensichtliche Fehler vor Ihnen. Nochmals vielen Dank für die Hilfe.
  • Nicht herumreiten den Punkt, aber Sie sollten nicht verwenden müssen IsDefined mit SELECT Abfragen. So ist es möglich, Sie auf einen Fehler. Aber froh, dass alles funktioniert jetzt 🙂
  • Das ist in Ordnung. Ich kann schauen es später mehr, aber ich arbeite gegen ein release-Datum. Aber nur für zukünftige Referenz für Sie und für sonst niemanden interessiert ich eigentlich meine Lösung unten, und testen Sie dann die Datensätze zurückgegeben, und dann gehen von diesem Punkt aus, weil isDefined() sowie isQuery() sind nicht spezifisch genug für meine Bedürfnisse. Nochmals vielen Dank für alles. Prost!
  • Hört sich gut an. Viel Glück mit dem release 🙂 Cheers.

InformationsquelleAutor JimP | 2011-06-16
Schreibe einen Kommentar