Question : Scope_Identity in SELECT statement with a WHERE clause

I am a little lost with the Scope_Identity function.
When you use an output parameter from a stored procedure, and
ExecuteNonQuery().  What do you, "and most importantly", how do you
use the "ID" ?  It seems from the code below that the "ID" was
retrieved but was never used.  Can you please show me a simple example
how to use this "ID" in a new SELECT statement with a WHERE clause?
For example, is the following allowed?

//--My Example----//

SELECT FROM Categories [CategoryName] WHERE CategoryID = ID;



//-------------------------Insert record and retrieve
Scope_Identity----------------------------//

string query = "AddCategory";

int ID;

string connect =
@"Server=.\SQLExpress;Database=Northwind;Trusted_Connection=Yes;";

using (SqlConnection conn = new SqlConnection(connect))

{

 using (SqlCommand cmd = new SqlCommand(query, conn))

 {

   cmd.CommandType = CommandType.StoredProcedure;

   cmd.Parameters.AddWithValue("@Category", Category.Text);

   cmd.Parameters.Add("@CategoryID", SqlDbType.Int, 0, "CategoryID");

   cmd.Parameters["@CategoryID"].Direction = ParameterDirection.Output;

   conn.Open();

   cmd.ExecuteNonQuery();

   ID = (int)cmd.Parameters["@CategoryID"].Value;

 }

}


//----------------------------Stored Procedure----------------------------//

CREATE PROCEDURE AddCategory

 -- Add the parameters for the stored procedure here

 @Category NVARCHAR(15),

 @CategoryID INT OUTPUT

AS

BEGIN

 SET NOCOUNT ON;

 -- Insert statements for procedure here

 INSERT INTO Categories (CategoryName) VALUES (@Category)

 SET @CategoryID = SCOPE_IDENTITY()

END

Answer : Scope_Identity in SELECT statement with a WHERE clause

you must use it like this:
SqlDataSource1.SelectCommand = "SELECT FROM Categories [CategoryName] WHERE CategoryID = "+ID.ToString();

Random Solutions  
 
programming4us programming4us