C# 通过LINQ调用SQL SP时出错
新手问题:我有一个带有十个参数(八个输入,两个输出)的SQL SP,但当我试图从代码中通过LINQ调用它时,会收到以下错误消息: “与“DataClassesDataContext.ST_CR_CREATE_CASE_BASIS(string、string、string、System.DateTime?、string、string、string、ref int?、ref int?)匹配的最佳重载方法具有一些无效参数” 和你一起的情人?似乎无法识别,但我感到困惑:数据类型匹配SQL类型,参数数量匹配,其他参数不显示相同的行为。谁能告诉我发生了什么事?提前谢谢 --SQL SP: aspx页面中的proc代码如下所示:C# 通过LINQ调用SQL SP时出错,c#,asp.net,linq-to-sql,C#,Asp.net,Linq To Sql,新手问题:我有一个带有十个参数(八个输入,两个输出)的SQL SP,但当我试图从代码中通过LINQ调用它时,会收到以下错误消息: “与“DataClassesDataContext.ST_CR_CREATE_CASE_BASIS(string、string、string、System.DateTime?、string、string、string、ref int?、ref int?)匹配的最佳重载方法具有一些无效参数” 和你一起的情人?似乎无法识别,但我感到困惑:数据类型匹配SQL类型,参数数量匹
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);
}
}
我看到异常消息指定最后两个参数应该是ref,但是调用只使用ref关键字一次。故意的还是打字错误?打字错误!谢谢,很好,但这不是问题。太好了!这不是很完美,但它给了我足够的时间来解决问题。实际的修复是按照上面Raj的代码进行的,但是初始化变量:int?vNewCaseNr=1;智力?vNewReqNr=1。。。然后它工作得很好。非常感谢大家。是的,当然,refs必须初始化。打字太快了-(
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);
}
}
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);
}