我想在插入记录时插入行键。然后我写了这个Sample 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
如何使用C#获取此OUT
值?
答案 0 :(得分:0)
StoredProcedure的Output子句返回一个具有单个值的行 因此,获取结果的正确方法是通过SqlCommand的ExecuteScalar方法
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
是什么数据类型。我假设一个整数,因此转换值为ExecuteScalar