SQL Insert return Identity w/sample proc
Description: accepts SqlParameter array, proc name and connection string name.
Returns ID
Link: http://www.codekeep.net/snippets/7d87b789-5951-4999-8362-fb62048a7d0f.aspx
public int ModifyDataReturnID(SqlParameter[] parameters, string ProcName, string ConnectionStringName)
{
SqlConnection cn;
SqlCommand cmd = new SqlCommand();
int returnID=0;
cn = new SqlConnection(ConfigurationManager.ConnectionStrings[ConnectionStringName].ToString());
try
{
cn.Open();
for (int i = 0; i < parameters.Length; i++)
{
SqlParameter sParam = (SqlParameter)parameters[i];
cmd.Parameters.Add(sParam);
}
SqlParameter paramIdOutput = new SqlParameter("@ProductID", SqlDbType.Int, 4);
paramIdOutput.Direction = ParameterDirection.Output;
cmd.Parameters.Add(paramIdOutput);
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = ProcName;
cmd.ExecuteNonQuery();
returnID = (int)cmd.Parameters["@ProductID"].Value;
}
catch (Exception ex)
{
throw ex;
}
finally
{
cn.Close();
}
return returnID;
}
/*
* ALTER PROCEDURE Blah
(
@ProductTitle varchar(100),
@CategoryID int,
@OriginalPrice decimal
)
AS
BEGIN
SET NOCOUNT ON;
INSERT Products(CategoryID,
ProductName,
Price)
VALUES (@CategoryID,
@ProductTitle,
@OriginalPrice)
SELECT @ProductID = @@Identity
END
*/





