March 20, 2005 at 4:15 am
Hello,
I'm using this stored procedure:
CREATE Procedure ProductInsert
(
@ProductID int OUTPUT,
@CategoryID int,
@Reference nvarchar (50),
@Name nvarchar (50),
@SmallImage nvarchar (50),
@Image nvarchar (50),
@OnSale bit,
@UnitCost money,
@Stock int,
@Description nvarchar (3800)
)
As
INSERT INTO Product
(
CategoryID,
Reference,
Name,
SmallImage,
Image,
OnSale,
UnitCost,
Stock,
Description
)
VALUES
(
@CategoryID,
@Reference,
@Name,
@SmallImage,
@Image,
@OnSale,
@UnitCost,
@Stock,
@Description
)
SELECT @ProductID = @@Identity
GO
I'm calling the stored procedure like this:
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand myCommand = new SqlCommand("ProductInsert", connection);
myCommand.CommandType = CommandType.StoredProcedure;
SqlParameter parameterID = new SqlParameter("@ProductID", SqlDbType.Int, 4);
parameterID.Direction = ParameterDirection.Output;
myCommand.Parameters.Add(parameterID);
SqlParameter parameterCategoryID = new SqlParameter("@CategoryID", SqlDbType.Int, 4);
parameterCategoryID.Value = product.Category.Id;
myCommand.Parameters.Add(parameterCategoryID);
.
.
.
connection.Open();
myCommand.ExecuteNonQuery();
connection.Close();
return (Int32) parameterID.Value;
but when I try to insert a row I get the following error:
Cannot insert the value NULL into column 'ProductID', table 'e-Commerce.dbo.Product'; column does not allow nulls. INSERT fails. The statement has been terminated.
Can someone tell me what I am doing wrong?
Thank you.
March 20, 2005 at 4:14 pm
The error is occuring when the stored procedure attempts to insert data into the Product table. Can you provide the table definition?
K. Brian Kelley
@kbriankelley
March 21, 2005 at 2:19 am
You might also want to use SCOPE_IDENTITY() rather than @@IDENTITY. See BOL for IDENT_CURRENT for an example of these three concepts.
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
Viewing 3 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy