روشی که من پیدا کردم:
فرض کنید یه storeProcedure در sql داریم:
Create Procedure InsertProperties
@zoneID int,
@ptID int,
@POwnerName nvarchar(100) = NULL,
As
Begin
Insert Into Properties
([zoneID],[ptID],[POwnerName])
Values
(@zoneID,@ptID,@POwnerName)
Declare @ReferenceID int
SET @ReferenceID = @@IDENTITY
Return @ReferenceID
END
در قسمت c#:
...
.........
cmd.Parameters.Add("@zoneID", SqlDbType.Int).Value = agricultures.ZoneID;
cmd.Parameters.Add("@ptID", SqlDbType.Int).Value = agricultures.propertyTypeID;
cmd.Parameters.Add("@POwnerName", SqlDbType.NVarChar, 100).Value = agricultures.OwnerName.Trim();
cmd.Parameters.Add(new SqlParameter("ReturnValue",
SqlDbType.Int,
4, /* Size */
ParameterDirection.ReturnValue,
false, /* is nullable */
0, /* byte precision */
0, /* byte scale */
string.Empty,
DataRowVersion.Default,
null));
cnn.Open();
int result;
this.ExecuteNonQuery(cmd);
result = (int)cmd.Parameters["ReturnValue"].Value;
return (result);