PDA

View Full Version : Begrenzung der Zeilen die durch SELECT zurückgegeben werden.



minnebth
05-03-01, 09:20
Hallo,

über meinen NT-Webserver lese ich die Datenbank der AS/400 aus.

Das Ganze funktioniert mit Active Server Pages, OLE DB und ADO. Wenn ich nun z.B. einen SELECT auf den Artikelstamm fahre, wird das Ergebnis auf den Webserver übertragen und ausgegeben. Bei einer Volltextsuche kann es bedeuten, daß mehr Daten geliefert werden als der Webserver Speicher hat. Das ist natürlich eher nicht so schön.

Wie kann ich die Menge der zurückgegebenen Datensätze begrenzen, entweder auf der Datenbank (AS400, SELECT) oder auf dem Webserver (ADO, OLE, Recordset)?

Beim Microsoft SQL-Server gibt es so etwas wie:
SELECT TOP 1000 * from BIBLIOTHEK.DATEI

Hat jemand eine Idee?

Gruß
Thorsten

Spoldo
10-03-05, 16:41
Hallo,

über meinen NT-Webserver lese ich die Datenbank der AS/400 aus.

Das Ganze funktioniert mit Active Server Pages, OLE DB und ADO. Wenn ich nun z.B. einen SELECT auf den Artikelstamm fahre, wird das Ergebnis auf den Webserver übertragen und ausgegeben. Bei einer Volltextsuche kann es bedeuten, daß mehr Daten geliefert werden als der Webserver Speicher hat. Das ist natürlich eher nicht so schön.

Wie kann ich die Menge der zurückgegebenen Datensätze begrenzen, entweder auf der Datenbank (AS400, SELECT) oder auf dem Webserver (ADO, OLE, Recordset)?

Beim Microsoft SQL-Server gibt es so etwas wie:
SELECT TOP 1000 * from BIBLIOTHEK.DATEI

Hat jemand eine Idee?

Gruß
Thorsten

SELECT blabla FROM blabla WHERE blabla FETCH FIRST 1000 ROWS ONLY

Fuerchau
10-03-05, 16:50
Im ADO-Command-Objekt die Eigenschaft "MaxRecords" setzen.
FETCH FIRST gibts erst ab V5, mit der ADO-Eigenschaft liegst du besser.