ZaimanMedlem sedan dec. 20014 239 inlägg Har sökt men ej funnit så här kommer en fråga. Varför får jag inte ut mina output parametrar? Får bara NULL värde när jag matar in rätt värden i inparametrarna.
DB = SQL 2005
Det är säkert bara jag som inte kan... Har inte jobbat med procedurer tidigare och ska precis börja lära mig... Det är säker pinsamt enkelt. :r
ALTER PROCEDURE [dbo].[DoLogin]
-- Add the parameters for the stored procedure here
@epost nvarchar,
@losenord nvarchar,
@id int output,
@bh int output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT @id = id, @bh = bh FROM tabellen WHERE epost = @epost AND losenord = @losenord
END
LarsGMedlem sedan dec. 200012 464 inlägg Varför har du längden 1 på dina inparametrar?
ZaimanMedlem sedan dec. 20014 239 inlägg Längden 1 ?
Måste man specificera längden typ "nvarchar(50)" ? För att det ska fungera?
Hmm provar medans jag väntar på svar...
ZaimanMedlem sedan dec. 20014 239 inlägg Aha..
Tack LarsG !!
Tyvärr har jag läst mitt exempel på internet och där var inte längden deklarerad. Är det nytt för 2005?
Den fungerande koden:
ALTER PROCEDURE [dbo].[DoLogin]
-- Add the parameters for the stored procedure here
@epost nvarchar(50),
@losenord nvarchar(50),
@id int output,
@bh int output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT @id = id, @bh = bh FROM tabellen WHERE epost = @epost AND losenord = @losenord
END
LarsGMedlem sedan dec. 200012 464 inlägg Nej då, så har det alltid varit i SQL server. Om du inte anger någon längd för karaktärstyper så blir det 1.
ZaimanMedlem sedan dec. 20014 239 inlägg Ok
Så han jag lärt mig något nytt idag igen :-)