我有这个存储过程,我需要从中获取返回值
ALTER PROCEDURE [dbo].[sp_TenantDetails_insert]
@TDtypeid NVARCHAR(10),
@TDtypeEn NVARCHAR(50),
@TDtypeAr NVARCHAR(50),
@TDNameEn NVARCHAR(MAX),
@TDNameAr NVARCHAR(MAX),
@TDportfolionameEn NVARCHAR(MAX),
@TDportfolionameAr NVARCHAR(MAX),
@TDpropertynameEn NVARCHAR(MAX),
@TDpropertynameAr NVARCHAR(MAX),
@TDoffice_code NVARCHAR(MAX),
@TDps_contract_hdr_code NVARCHAR(MAX),
@TDcivil_id NVARCHAR(MAX),
@TDmobile NVARCHAR(50),
@TDemail NVARCHAR(50),
@TDportfolio_code NVARCHAR(50),
@TDproperty_code NVARCHAR(50),
@TDunit_nick_name NVARCHAR(MAX),
@TDstartdate NVARCHAR(50),
@TDendtdate NVARCHAR(50),
@TDmon_rent NVARCHAR(50),
@PayType NVARCHAR(50),
@TDTotMonths INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @tenantid Int
INSERT INTO tbl_ream_TenantDetails(R_typeId,R_typeEn, R_typeAr, R_tenantNameEn, R_tenantNameAr,R_portfolionameEn, R_portfolionameAr, R_propertynameEn, R_propertynameAr, R_office_code, R_ps_contract_hdr_code, R_civil_id, R_mobile,R_email, R_portfolio_code,R_property_code, R_unit_nick_name, R_startdate,R_endtdate, R_mon_rent, R_pay_type, R_tot_months)
VALUES (@TDtypeid, @TDtypeEn, @TDtypeAr, @TDNameEn, @TDNameAr,
@TDportfolionameEn, @TDportfolionameAr, @TDpropertynameEn,
@TDpropertynameAr, @TDoffice_code, @TDps_contract_hdr_code,
@TDcivil_id, @TDmobile, @TDemail, @TDportfolio_code,
@TDproperty_code, @TDunit_nick_name, @TDstartdate, @TDendtdate,
@TDmon_rent, @PayType, @TDTotMonths)
SET @tenantid = SCOPE_IDENTITY()
RETURN @tenantid
SET NOCOUNT OFF
END
我已经创建了一个数据集并将其作为查询添加到数据集中
我尝试使用以下代码获取值,但它返回0而不是SCOPE_IDENTITY()
值
public int GetInsertId(string typeId, string typeEn, string typeAr, string tenantNameEn, string tenantNameAr, string portfolionameEn, string portfolionameAr, string propertynameEn, string propertynameAr, string office_code, string ps_contract_hdr_code, string civil_id, string mobile, string email, string portfolio_code, string property_code, string unit_nick_name, string startdate, string endtdate, string mon_rent, string pay_type, int tot_months)
{
try
{
//int objResult = 0;
//DataTable dt = new DataTable();
//dt = AdapterTenantSelectDetailsInsert.sp_TenantDetailsInsert(typeId, typeEn, typeAr, tenantNameEn, tenantNameAr, portfolionameEn, portfolionameAr, propertynameEn, propertynameAr, office_code, ps_contract_hdr_code, civil_id, mobile, email, portfolio_code, property_code, unit_nick_name, startdate, endtdate, mon_rent, pay_type, tot_months);
//if (dt.Rows.Count > 0)
//{
// DataRow UserRow = dt.Rows[0];
// objResult = int.Parse(UserRow[0].ToString()) ;
//}
//var test = AdapterTenantSelectDetailsInsert.sp_TenantDetails_insert(typeId, typeEn, typeAr, tenantNameEn, tenantNameAr, portfolionameEn, portfolionameAr, propertynameEn, propertynameAr, office_code, ps_contract_hdr_code, civil_id, mobile, email, portfolio_code, property_code, unit_nick_name, startdate, endtdate, mon_rent, pay_type, tot_months);
int objResult = 0;
objResult = Convert.ToInt32((AdapterTenantSelectDetailsInsert.sp_TenantDetails_insert(typeId, typeEn, typeAr, tenantNameEn, tenantNameAr, portfolionameEn, portfolionameAr, propertynameEn, propertynameAr, office_code, ps_contract_hdr_code, civil_id, mobile, email, portfolio_code, property_code, unit_nick_name, startdate, endtdate, mon_rent, pay_type, tot_months)));
return objResult;
}
catch (Exception)
{
throw;
}
}