2016-11-02 1 views
0

ich habe:Zählen Spalten in Coldfusion der QoQ

<cfspreadsheet action="read" src="#Trim(PathToExcelFile)#" query="Data"> 

Wie zähle ich die Gesamt Spalte in meiner „Daten“ Abfrage mit Coldfusion-Abfrage von Query-? Ich muss zählen, ob meine Benutzer das korrekte Excel-Dateiformat verwendet haben, bevor sie in meine DB eingefügt werden. Ich bin mit Oracle 11g und kann ich nicht tun:

Select * From Data Where rownum < 2 

Wenn ich kann das tun, dann kann ich ein Array erstellen und die Spalten zählen, sondern das Skript unter Verwendung Ergebnisse in Fehler ausgeführt wird. Der Fehler besagt, dass es keinen Spaltennamen Rownum gibt. Oracle erlaubt mir nicht, Select Top 1 zu verwenden. Ich möchte nicht mehr als 5000 Datensätze durchlaufen, um nur die gesamte Spalte einer Zeile zu zählen. Ich schätze jede Hilfe, danke

+0

* Ich benutze Oracle 11g * Macht keinen Unterschied mit einem QoQ. Sie werden im Speicher ausgeführt und haben keine Verbindung zu Ihrem DBMS. QoQs verwenden einen speziellen SQL-Dialekt und unterstützen nur [einige SQL-Funktionen] (https://helpx.adobe.com/coldfusion/developing-applications/accessing-and-using-data/using-query-of-queries/query -of-queries-user-guide.html). Miguel-Fs Antwort ist definitiv der richtige Ansatz für diese Aufgabe. FWIW Die db-agnostische Methode, Null-Datensätze zurückzugeben, besteht jedoch darin, einen Filter zu aktivieren, der niemals wahr ist, wie zum Beispiel 'WHERE 1 = 0'. – Leigh

Antwort

2

Coldfusion fügt einige zusätzliche Variablen, um es von Abfrageergebnissen ist. Eine davon heißt `columnList 'und enthält eine durch Kommas getrennte Liste der zurückgegebenen Abfrage-Spalten.

From the documentation here

Von dass Sie sollten in der Lage, die Anzahl der Spalten leicht zu zählen. #listlen(Data.columnList)# als ein Beispiel.

Verwandte Themen