Я хочу получить вставленный ключ строки при вставке записей. Затем я написал этот образец SQL SP.
CREATE PROCEDURE Temp
AS
BEGIN
SET NOCOUNT ON
insert into Farmer_landDetails
(oth_mas_key,
fmr_key,
anim_typ_key,
anim_count,
land_type_key,
land_availability) OUTPUT INSERTED.oth_det_key values(1,1,1,1,1,1)
END
GO
Как получить это значение OUT
с помощью С#?
Предложение Output вашего StoredProcedure возвращает одну строку с единственным значением.
Таким образом, правильный метод получения результата - через метод ExecuteScalar для SqlCommand
using(SqlConnection cnn = new SqlConnection(....))
using(SqlCommand cmd = new SqlCommand("Temp", cnn))
{
cnn.Open();
cmd.CommandType = CommandType.StoredProcedure;
int result = Convert.ToInt32(cmd.ExecuteScalar());
}
Обратите внимание, что я понятия не имею, какой тип данных является oth_det_key
. Я предполагаю, что целое число, следовательно, Convert.ToInt32() для возвращаемого значения ExecuteScalar