webForumDet fria alternativet

Stored procedure i MSDE

3 svar · 251 visningar · startad av Jon

JonMedlem sedan juli 20011 126 inlägg
#1

Jag använder MSDE och VS.NET för att gör en webbapplikation.
Jag har dock lite problem med en Stored Procedure som jag har tänkt ska hantera inhämtning av lite data samt snabba upp pagingen lite. har denna kod just nu som inte vill fungera riktigt. Har inte hittat något bra sätt att debugga SQL i MSDE och har inte tillgång till SQL servern ännu...

ALTER PROCEDURE dbo.spTasksPagedOrdered

	@PageNumber int,
	@PageSize int,
	@SortExpr varchar(25)

AS

    CREATE TABLE #TempTasks
    (
        ID int IDENTITY PRIMARY KEY,
        TaskId bigint,
        Taskdescription varchar(250),
        TaskRegdate datetime
    )

    INSERT INTO #TempTasks (TaskId, Taskdescription, TaskRegdate)
    SELECT 
        TaskId,
        Taskdescription,
        TaskRegdate
    FROM Tasks ORDER BY TaskRegdate DESC

    DECLARE @FromID int
    DECLARE @ToID int

    SET @FromID = ((@PageNumber - 1) * @PageSize) + 1
    SET @ToID = @PageNumber * @PageSize

    SELECT TaskId, Taskdescription FROM #TempTasks WHERE ID >= @FromID AND ID <= @ToID

RETURN

Problemet är det att när jag kör den händer just ingenting förutom att jag får ge värden på in-parametrarna förstås.

Sen hade jag tänkt att man ska kunna skicka med @SortExpr för att åstadkomma sortering redan här och det strular också.

Tacksam för hjälp :)

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Lägg till

SET NOCOUNT

i början på proeduren

JonMedlem sedan juli 20011 126 inlägg
#3

Tack så mycket :)

Vad exakt händer när man slår på NOCOUNT?

Nu vill jag sortera på inparametern @SortExpr
Jag har modifierat följande:

INSERT INTO #TempTasks (TaskId, Taskdescription, TaskRegdate)
    SELECT 
        TaskId,
        Taskdescription,
        TaskRegdate
    FROM Tasks ORDER BY @SortExpr DESC

Tanken är att jag ska ha rubriker på som är klickbara med värden som heter samma saker som tabellnamnet man vill sortera på...

Om jag ändrar till '@SortExpr' kan jag köra den men det verkar inte slå igenom när jag ändrar fram och tillbaka på inparametern.

JonMedlem sedan juli 20011 126 inlägg
#4

Jag hittade det själv.

Om någon undrar så slår man av NOCOUNT för att man inte ska returnera antal instoppade rader i sin temptabell i det här fallet. vi vill ju köra vidare =)

Vad det gäller sorteringn finns svaret i en annan tråd

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb