Min SP ser ut så här: jag löste det själv, men ibland står det helt stilla. Felet låg i denna rad:Problem med SP!
<code>
ALTER PROC [dbo].[addCarJunk]
@lanID int,
@komID int,
@make varchar(50),
@modell varchar(50),
@regNr nchar(6),
@year int,
@owner varchar(50),
@address varchar(20),
@zipCode nchar(6),
@city varchar(20),
@phone varchar(20),
@cellPhone varchar(20),
@mail varchar(100),
@info varchar(1500),
@fetshed bit = 'False',
@isJunk bit = 'False'
AS
set nocount on
declare @errMess varchar(100)
begin try
-- Checks to se so the car doesn't exists already...
if(exists(select carJunkID from carJunk where carJunkCarRegNr = @regNr and @regNr != 1))
begin
set @errMess = 'Registreringsnumret finns redan i databasen.'
raiserror(@errMess, 16, 1)
end
else
begin
-- Do the actual insert...
INSERT INTO carJunk(lanID, komID, carJunkCarMake, carJunkCarModell, carJunkCarRegNr, carJunkMakeyear, carJunkOwner, carJunkOwnerAddress, carJunkOwnerZipCode,
carJunkOwnerCity, carJunkOwnerPhone, carJunkOwnerCellPhone, carJunkOwnerEmail, carJunkInfo, carJunkDate, carJunkIsFetched, carJunkIsJunked)
VALUES(@lanID, @komID, @make, @modell, @regNr, @year, @owner, @address, @zipCode, @city, @phone, @cellPhone, @mail, @info, GETDATE(), @fetshed, @isJunk)
if (@@ROWCOUNT <> 1)
begin
set @errMess = 'Det gick inte att lägga till bilen i databasen. VV försök igen senare.'
raiserror(@errMess, 16, 1)
end
end
end try
begin catch
raiserror(@errMess, 16, 1)
return
end catch
</code>
Är det någon som kan upptäcka något fel i den? Jag får följande fel när jag försöker köra den <b>Msg 50000, Level 16, State 1, Procedure addCarJunk, Line 45</b> Line 45 är "end try". jag fattar inte detta, jag har lagt in ett antal bilar med den och det har fungerat och helt plötsligt funkar det inte.Sv: Problem med SP!
<code>
if(exists(select carJunkID from carJunk where carJunkCarRegNr = @regNr and @regNr != 1))
</code>
Där försöker ju proceduren att göra om @regNr till en int, så länge jag provade med bara siffror gick ju det bra men när jag la in bokstäver så fungerade det ju inte. jag ändrade till:
<code>
if(exists(select carJunkID from carJunk where carJunkCarRegNr = @regNr and @regNr != '1'))
</code>
så fungerar det fint. anledningen att jag kollar om @regNr är lika med 1 är att de har inte regnummret på alla bilar och vill då kunna skriva en siffra och det ändå ska gå att lägga till bilen.