新手问题:我有一个带有十个参数的SQL SP(八个输入,两个输出),但是当我尝试通过代码中的LINQ调用它时,我收到以下错误消息:
“'DataClassesDataContext.ST_CR_CREATE_CASE_BASIS(string,string,string,string,System.DateTime?,string,string,string,ref int?,ref int?)'的最佳重载方法匹配'有一些无效的参数”。
与对比?似乎无法识别,但我感到困惑:数据类型与SQL类型匹配,参数数量匹配,其他参数不表现出相同的行为。谁能告诉我发生了什么事?提前谢谢。
- SQL SP:
create procedure ST_CR_CREATE_CASE_BASIS
@p_Pers_No nvarchar (50),
@p_Subject nvarchar (255),
@p_RQ_XML nvarchar(max),
@p_RQ_XSL nvarchar(max),
@p_Date_Submit smalldatetime,
@p_User_ID_Submit nvarchar (255),
@p_RQ_Status nvarchar (50),
@p_User_ID_OnBehalf nvarchar (255),
@p_Case_Number int output,
@p_RQ_ID int output
as
begin
-- ... etc.; the SP works fine when called from SSMS
aspx页面中的代码隐藏过程如下所示:
protected void cmdSubmit_Click(object sender, EventArgs e)
{
using (DataClassesDataContext vDataCont = new DataClassesDataContext())
{
Int32 vNewCaseNr;
Int32 vNewReqNr;
DateTime vNow = System.DateTime.Now;
vDataCont.ST_CR_CREATE_CASE_BASIS("101", "Test Subject Late Wed", null, null, vNow , "101", "1", "101", ref vNewCaseNr, vNewReqNr);
}
}
答案 0 :(得分:0)
using (DataClassesDataContext vDataCont = new DataClassesDataContext())
{
int? vNewCaseNr;
int? vNewReqNr;
DateTime vNow = System.DateTime.Now;
vDataCont.ST_CR_CREATE_CASE_BASIS("101", "Test Subject Late Wed", null, null, vNow , "101", "1", "101", ref vNewCaseNr, ref vNewReqNr);
}