Avatar billede neess Nybegynder
05. december 2007 - 09:50 Der er 3 kommentarer og
1 løsning

Får ikke null med ud

Jeg har sådan en stored procedure.
Kalder jeg den med et tal får jeg fint et resultat, men bliver den kaldt med null, får jeg ikke de række ud som indeholder null.

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go




ALTER PROCEDURE [dbo].[GETWorkflowCaseFolderUserGroupsByCaseFolderID]
(
    @CaseFolderID INT
)
AS

SELECT    
    Id,
    CaseFolder_ID,
    Name,
    ISNULL(CaseFolderUserGroup_ID, 0) AS CaseFolderUserGroup_ID,
    caseFolderName,   
    adress,
    email
FROM
    CaseFolderUserGroup
WHERE
    CaseFolder_ID = @CaseFolderID

Order by Name


Jeg har prøvet at kalde den med dette fra sql manageren.
GO

DECLARE    @return_value int

EXEC    @return_value = [dbo].[GETWorkflowCaseFolderUserGroupsByCaseFolderID]
        @CaseFolderID = null

SELECT    'Return Value' = @return_value

GO

Selve den stored p. bliver kaldt fra c# kode gennem en SqlCommandWrapper
Avatar billede hrc Mester
05. december 2007 - 11:15 #1
Du bliver nok nødt til at tjekke om din parameter er null:

CREATE PROCEDURE [dbo].[GETWorkflowCaseFolderUserGroupsByCaseFolderID]
@CaseFolderID INT = null
AS
  IF @CaseFolderID = null -- Mener ikke "is null" virker
  BEGIN
    SELECT Id, CaseFolder_ID, Name,
          ISNULL(CaseFolderUserGroup_ID, 0) AS CaseFolderUserGroup_ID,
          caseFolderName, adress, email
      FROM CaseFolderUserGroup
      WHERE (CaseFolder_ID = @CaseFolderID)
      ORDER BY Name
  END
  ELSE BEGIN
    SELECT Id, CaseFolder_ID, Name,
          ISNULL(CaseFolderUserGroup_ID, 0) AS CaseFolderUserGroup_ID,
          caseFolderName, adress, email
      FROM CaseFolderUserGroup
      WHERE (CaseFolder_ID IS NULL)
      ORDER BY Name
  END
Avatar billede hrc Mester
05. december 2007 - 11:19 #2
Det er lige omvendt. Det er "= null" der ikke virker

  IF @CaseFolderID IS NULL -- Det her virker
Avatar billede neess Nybegynder
05. december 2007 - 11:30 #3
Jeps Det var lige den If sætning der skulle til :-)
Havde også prøvet med If men glemte lige BEGIN

Super lig et svar så lukker jeg
Avatar billede hrc Mester
05. december 2007 - 11:55 #4
Her er et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester