ALTER PROCEDURE [dbo].[InsertRecord]
(
@name nvarchar(100)
)
AS
BEGIN
SET NOCOUNT ON;
insert into MyTable(name) values(@name);
return SCOPE_IDENTITY();
END
/***************************************************************************************************/
ALTER PROCEDURE [dbo].[InsertRecord2]
(
@name nvarchar(100),
@id int output
)
AS
BEGIN
SET NOCOUNT ON;
insert into MyTable(name) values(@name);
select @id =SCOPE_IDENTITY();
END
/***************************************************************************************************/
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
class Program
{
static void Main(string[] args)
{
string connStr = "server=.;database=mytest;uid=sa;pwd=Server2012";
using (SqlConnection con = new SqlConnection(connStr))
{
SqlCommand cmd = new SqlCommand("InsertRecord", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@name", System.Data.SqlDbType.NVarChar));
cmd.Parameters["@name"].Value = "hahheh";
cmd.Parameters.Add(new SqlParameter("@return", System.Data.SqlDbType.Int));
cmd.Parameters["@return"].Direction = System.Data.ParameterDirection.ReturnValue;
con.Open();
cmd.ExecuteNonQuery();
object obj = cmd.Parameters["@return"].Value;
Console.WriteLine(obj);
SqlCommand cmd2 = new SqlCommand("InsertRecord2", con);
cmd2.CommandType = System.Data.CommandType.StoredProcedure;
cmd2.Parameters.Add(new SqlParameter("@name", System.Data.SqlDbType.NVarChar));
cmd2.Parameters["@name"].Value = "NNNNNN";
cmd2.Parameters.Add(new SqlParameter("@id", System.Data.SqlDbType.Int));
cmd2.Parameters["@id"].Direction = System.Data.ParameterDirection.Output;
//con.Open();
cmd2.ExecuteNonQuery();
object obj2 = cmd2.Parameters["@id"].Value;
Console.WriteLine(obj2);
}
Console.Read();
}
}
}