Hello,
I wrote a stored procedure that inserts data into one table, then inserts the value of the identity column into another table:
SET
NOCOUNTON;INSERTINTO ContactUs_TBL
(FullName, Email, Phone, Message)
VALUES
(@.FullName, @.Email, @.Phone, @.Message)
SELECT@.@.IDENTITY
INSERTINTO ContactUsQuestions_TBL
(QuestionText, ContactId)
VALUES
(@.QuestionText,@.@.IDENTITY)
In the CodeFile in asp.net (c#.net), I'm not what to set the value property to below. Right now I just hardcoded a 2 to see how it would work. Could anyone help me out and tell me what I should put here? Each of the other statements I used were set to the value of a form control, but since this id isn't a form control, just an identity column, I'm not sure what to do:
comm.Parameters.Add(
"@.ContactId",SqlDbType.Int);comm.Parameters["@.ContactId"].Value = 2;
-- rkeslar
Replace @.@.IDENTITY with SCOPE_IDENTITY(). This isn't related to your problem, but you should do it anyhow.
You don't add a parameter for ContactID. You don't pass it into the stored procedure, and you don't tell .NET about it.
|||hmm. ContactID is a primary key in the ContactUs_TBL, so I see why you wouldn't pass it into the stored procedure or tell .net about it for that table. But it's also a foreign key in the ContactUsQuestions_TBL so how is it going to get inserted into that table if I don't pass it into the stored procedure and tell .net about it?
Thanks
|||Because the stored procedure picks up the value when it's running and passes it to the second insert statement.
No comments:
Post a Comment