
@@SCOPE_IDENTITY
LAST_INSERT_ID()
@@SCOPE_IDENTITY
LAST_INSERT_ID()

DECLARE @insertedId int
BEGIN TRANSACTION
BEGIN TRY
INSERT INTO table1(namn) VALUES('kalle')
SELECT @insertedId = SCOPE_IDENTITY()
INSERT INTO table2(tab1id, tab2name)VALUES(@insertedId,'nisse')
END TRY
BEGIN CATCH
ROLLBACK
END CATCH
IF((SELECT XACT_STATE()) = 1)
BEGIN
COMMIT
END
DECLARE @insertedId int
BEGIN TRANSACTION
BEGIN TRY
INSERT INTO table1(namn) VALUES('kalle')
SELECT @insertedId = SCOPE_IDENTITY()
INSERT INTO table2(tab1id, tab2name)VALUES(@insertedId,'nisse')
END TRY
BEGIN CATCH
ROLLBACK
END CATCH
IF((SELECT XACT_STATE()) = 1)
BEGIN
COMMIT
END





CREATE PROCEDURE [dbo].[TestSP] @paramRecipeName nvarchar(max), @paramRecipeDescription nvarchar(max), @paramRecipeTime decimal(18,0), @paramUserId int, @new_identity int = 0 output AS BEGIN SET NOCOUNT ON INSERT INTO Recipe(RecipeName, [Description], RecipeTime, UserId) VALUES(@paramRecipeName, @paramRecipeDescription, @paramRecipeTime, @paramUserId); SELECT @new_identity = SCOPE_IDENTITY(); RETURN @new_identity END
SqlConnection conn = null;
SqlDataReader rdr = null;
SqlCommand cmd = null;
var memberId = WebSecurity.GetUserId(User.Identity.Name);
int newRecipeId;
conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["RecipeContext"].ConnectionString;
//conn.Open();
//Använder ett command objekt för att peka gentemot lagrade proceduren
cmd = new SqlCommand("TestSP", conn);
cmd.CommandType = CommandType.StoredProcedure;
//Definerar och deklererar alla parameter värden till lagrade proceduren
cmd.Parameters.Add(new SqlParameter("@paramRecipeName", SqlDbType.NVarChar));
cmd.Parameters["@paramRecipeName"].Value = appModel.RecipeName;
cmd.Parameters.Add(new SqlParameter("@paramRecipeDescription", SqlDbType.NVarChar));
cmd.Parameters["@paramRecipeDescription"].Value = appModel.Description;
cmd.Parameters.Add(new SqlParameter("@paramRecipeTime", SqlDbType.Decimal));
cmd.Parameters["@paramRecipeTime"].Value = appModel.RecipeTime;
cmd.Parameters.Add(new SqlParameter("@paramUserId", SqlDbType.Int));
cmd.Parameters["@paramUserId"].Value = memberId;
conn.Open();
newRecipeId = (int)cmd.ExecuteScalar();
CREATE PROCEDURE [dbo].[TestSP] @paramRecipeName nvarchar(max), @paramRecipeDescription nvarchar(max), @paramRecipeTime decimal(18,0), @paramUserId int, @new_identity int = 0 output AS BEGIN SET NOCOUNT ON INSERT INTO Recipe(RecipeName, [Description], RecipeTime, UserId) VALUES(@paramRecipeName, @paramRecipeDescription, @paramRecipeTime, @paramUserId); SELECT @new_identity = SCOPE_IDENTITY(); RETURN @new_identity END
SqlConnection conn = null;
SqlDataReader rdr = null;
SqlCommand cmd = null;
var memberId = WebSecurity.GetUserId(User.Identity.Name);
int newRecipeId;
conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["RecipeContext"].ConnectionString;
//conn.Open();
//Använder ett command objekt för att peka gentemot lagrade proceduren
cmd = new SqlCommand("TestSP", conn);
cmd.CommandType = CommandType.StoredProcedure;
//Definerar och deklererar alla parameter värden till lagrade proceduren
cmd.Parameters.Add(new SqlParameter("@paramRecipeName", SqlDbType.NVarChar));
cmd.Parameters["@paramRecipeName"].Value = appModel.RecipeName;
cmd.Parameters.Add(new SqlParameter("@paramRecipeDescription", SqlDbType.NVarChar));
cmd.Parameters["@paramRecipeDescription"].Value = appModel.Description;
cmd.Parameters.Add(new SqlParameter("@paramRecipeTime", SqlDbType.Decimal));
cmd.Parameters["@paramRecipeTime"].Value = appModel.RecipeTime;
cmd.Parameters.Add(new SqlParameter("@paramUserId", SqlDbType.Int));
cmd.Parameters["@paramUserId"].Value = memberId;
conn.Open();
newRecipeId = (int)cmd.ExecuteScalar();

using(SqlConnection conn = new SqlConnection())
{
//do stuff
}
using(SqlConnection conn = new SqlConnection())
{
//do stuff
}

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!
Swish: 123 536 99 96 Bankgiro: 211-4106
Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!
Swish: 123 536 99 96 Bankgiro: 211-4106