Einzelnen Beitrag anzeigen

heri

Registriert seit: 20. Mär 2006
81 Beiträge
 
Delphi 2006 Enterprise
 
#5

Re: 10Records vor- und zurückblättern

  Alt 28. Mai 2008, 08:03
Vielen Dank für die Tipps!

leider ist das von mir aufgeführte SQLBeispiel nur ein stark vereinfachtes Beispiel und sollte einen Ansatz bieten

Mein SQL Statement ist sehr viel komplexer - meine Tabelle (> 100'000 Records und stark wachsend) viel grösser und deshalb:
- geht eine UserDefinierteFunction (UDF) als auch eine Procedures auf dem SQL Server nicht (war mein erster Ansatz mit dem ich sehr viel Zeit verbraten habe)
- das Beispiel der mehrstufigen Begrenzung auch nicht möglich
SQL-Code:
 
SELECT TOP 50 name, value
FROM ( SELECT TOP 100 name, value
       FROM tab
       ORDER BY value DESC)
ORDER BY value ASC;
PS: geht bei mir ehh nicht

ABER - ich habe einen naja "eleganten" Umweg
(und vllcht wird der ja noch ein paar anderen dienen,
ich profitiere oft von den Ideen hier in der DP, so möcht ich
auch wieder mal was beitragen - mein Tipp

man erstelle auf dem SQLServer folgende Procedure:

SQL-Code:
CREATE PROCEDURE [ExecSQLDirect]
      @SQLStatement varchar(MAX)
AS
BEGIN

   -- SET NOCOUNT ON added to prevent extra result sets from
   -- interfering with SELECT statements.
   SET NOCOUNT ON;
 
   exec(@SQLStatement)

END
und anschliessen kann man die Procedure EXECSQLDirect mit dem ersten Beispielcode als Parameter @SQLStatement übergeben...
cool oder? tja - wer lange sucht... wird langsam schlau...

PS:
und so kann übrigens jedes für den SQLServer gültige SQLStatement, bei welchem die ADO's eine exception auslösen würden, ausgeführt werden
  Mit Zitat antworten Zitat