Forum: ASP.NET |
Thema:
Re: MxDataGrid+SQLdatsourcecontroll Timeout |
Von:
Jens Buthe (
26.09.2005 11:05) |
Hallo Alexander,
vielleicht kannst du so verhindern, immer alle Datensätze auf einmal gelesen werde, und statt dessen nur die (ersten 10), die du grad in deinem DataGrid ausgeben willst, ...
USE NORTHWIND
GO
DECLARE @perpage INT
DECLARE @pagenum INT
SET @perpage = 10
SET @pagenum = 5
DECLARE @tmp TABLE( ID INT IDENTITY, productid INT )
INSERT @tmp (productid) SELECT productid FROM products ORDER BY unitprice
DECLARE @ubound INT, @lbound INT, @pages INT, @rows INT
SELECT @rows = COUNT(*), @pages = @rows % @perpage
FROM @tmp
IF @rows % @perpage != 0 SET @pages = @pages + 1
IF @pagenum < 1 SET @pagenum = 1
IF @pagenum > @pages SET @pagenum = @pages
SET @ubound = @perpage * @pagenum
SET @lbound = @ubound - (@perpage - 1)
SELECT ProductId, ProductName, UnitPrice, UnitsInStock
FROM products
WHERE productid IN (SELECT productid FROM @tmp WHERE [ID] BETWEEN @lbound AND @ubound )
SELECT CurrentPage = @pagenum, TotalPages = @pages, TotalRows = @rows
Du erstellst eine Hilfstabelle, mit einem IDENTITY-Feld und deiner ProductID. Am Identity-Feld kannst du dann errechnen, welche Datensätze du brauchst (erwünschte Seite * Anzahl Datensätze pro Seite).
Vielleicht hilft dir das ja weiter
j
Betreff |
Von |
Datum |
|
  |
Re: MxDataGrid+SQLdatsourcecontroll Timeout
Danke für dein Lösungsansatz aber es ist nicht ganz die Lösug.<br>Da eine Vorgabe, die ich habe u.a. ist, keine Tabellen in den SQLServer neu zu schreiben. Hinzu kommt das ich 2 Tabellen auslese und... |
 |
 |
 |
|
|
Alexander
Reichel
|
26.09.2005 12:01 |
|
  |
Re: MxDataGrid+SQLdatsourcecontroll Timeout
könntest du nicht die Datensätze in einem DataSet wegsichern, dass du, falls es nicht zu gross wird, in der Session speicherst (oder zur Not als .xml auslagerst), so dass du beim nächsten Mal nicht an... |
 |
 |
 |
|
|
Jens
Buthe
|
26.09.2005 12:14 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!