无法将输出参数传递给存储过程 [英] unable to pass output parameter to store procedure

查看:52
本文介绍了无法将输出参数传递给存储过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

public int CompanyRegister(CompanyRegistration Cr,out int CompanyID)

{

// int NewCompanyID = 0;

DataTable dt = new DataTable();

试试

{



SqlParameter NewCompanyID = new SqlParameter(" @CompID", SqlDbType.Int);

NewCompanyID.Direction = ParameterDirection.Output;

// NewCompanyID = Convert.ToInt32(OutNonloanChargeBalance.Value);



SqlParameter [] param = {

新的SqlParameter(@ CompName,Cr.CompanyName),

新的SqlParameter(@ LogoPath,Cr.companylog),

新的SqlParameter(@ TypeofBusiness,Cr.Typeofbusiness),





dt = sh.ExecuteDataTable(" dbo.Insert_ALOrganization",param);



CompanyID = Convert.ToInt32(NewCompanyID.Value);



}

catch(Exception ex)

{

抛出ex;

}

返回CompanyID;

}

}







这里我将通过所有这些价值,我会在varibla中得到oup,即:CompanyID

public int CompanyRegister(CompanyRegistration Cr, out int CompanyID)
{
//int NewCompanyID = 0;
DataTable dt = new DataTable();
try
{

SqlParameter NewCompanyID = new SqlParameter("@CompID", SqlDbType.Int);
NewCompanyID.Direction = ParameterDirection.Output;
//NewCompanyID = Convert.ToInt32(OutNonloanChargeBalance.Value);

SqlParameter[] param ={
new SqlParameter(@CompName,Cr.CompanyName),
new SqlParameter(@LogoPath,Cr.companylog),
new SqlParameter(@TypeofBusiness,Cr.Typeofbusiness),


dt = sh.ExecuteDataTable("dbo.Insert_ALOrganization", param);

CompanyID = Convert.ToInt32(NewCompanyID.Value);

}
catch (Exception ex)
{
throw ex;
}
return CompanyID;
}
}



here i willpass allthese value and i will get oup put in the varibla ie:CompanyID

推荐答案

您没有在SqlParameter数组参数中包含NewCompanyID参数。

You are not including your NewCompanyID parameter in SqlParameter array param.
public int CompanyRegister(CompanyRegistration Cr)
{
int CompanyID=0; 
DataTable dt = new DataTable();
try
{
SqlParameter NewCompanyID = new SqlParameter("@CompID", SqlDbType.Int);
NewCompanyID.Direction = ParameterDirection.Output; 
SqlParameter[] param = { NewCompanyID ,
new SqlParameter(@CompName,Cr.CompanyName),
new SqlParameter(@LogoPath,Cr.companylog),
new SqlParameter(@TypeofBusiness,Cr.Typeofbusiness)
}
dt = sh.ExecuteDataTable("dbo.Insert_ALOrganization", param);
CompanyID = Convert.ToInt32(NewCompanyID.Value);
}
catch (Exception ex)
{
throw ex;
}
return CompanyID;
}


这篇关于无法将输出参数传递给存储过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆