webForumDet fria alternativet

Stored procedure slutat fungera efter ändring

2 svar · 1 357 visningar · startad av Sanji

SanjiMedlem sedan juli 2009355 inlägg
#1

Hej! jag har använt mig av en stored procedure förut som jag nu har ändrat. Jag lade till en parameter till min stored procedure, som jag sedan försöker kolla om den har fått ett värde från min asp.net-sida. Har den redan ett värde, så ska detta värde användas, annars ska den tilldelas ett guid. efter att jag lade till detta så slutade det att fungera. så här ser den ut nu:

USE [Sanji_Database]
GO
/****** Object:  StoredProcedure [dbo].[AddArticle]    Script Date: 04/22/2011 10:52:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[AddArticle]
	@articleID uniqueidentifier,
	@articlenr varchar(50),
	@companyID uniqueidentifier,
	@term varchar(50),
	@description varchar(MAX)
AS
	BEGIN
	if @articleID = ''-- OR @articleID = null
	BEGIN
	--declare @articleID uniqueidentifier
	SELECT @articleID = newid()
END
	insert into article(ID,companyID,articlenr,term,description)Values(@articleID,@companyID,@articlenr,@term,@description)
	
	
	END
	RETURN

jag hanterar min stored procedure i Microsoft SQL Server Management Studio r2 2008

när den fungerade såg den ut så här:

USE [Sanji_Database]
GO
/****** Object:  StoredProcedure [dbo].[AddArticle]    Script Date: 04/22/2011 10:52:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[AddArticle]
	@articlenr varchar(50),
	@companyID uniqueidentifier,
	@term varchar(50),
	@description varchar(MAX)
AS
	BEGIN
	
	declare @ID uniqueidentifier
	SELECT @ID = newid()

	insert into article(ID,companyID,articlenr,term,description)Values(@ID,@companyID,@articlenr,@term,@description)
	
	
	END
	RETURN

Det jag vill åstadkomma är just precis att om det redan skickats med ett ID, så ska det inte genereras något nytt, men om det inte har skickats med något, så vill jag att det ska genereras ett.

Hoppas ni förstår vad jag menar!

Mvh Marcus

SanjiMedlem sedan juli 2009355 inlägg
#2

jag löste det, jag kollar nu endast efter om @articleID = null, då det tydligen inte går att skicka en tom sträng till en stored procedure ^^

Klappat och klart!

Mvh

@ndersMedlem sedan juni 200032 969 inlägg
#3

Jo, det är klart att du kan skicka en tom sträng till en sp.

Men - du ska använda is null, inte = null.

Mvh

124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)