C# 索引超出了数组的界限(System.Byte到tinyint)
我卡住了 我有SP dbo.getbalance,它返回多个记录集。实际上是2个重编码集 SP的一个参数是TINYINT lang_type,我在c中知道它是System.Byte,但是当我试图传递这个参数时,我得到了一个错误:索引超出了数组的边界 这是我的密码C# 索引超出了数组的界限(System.Byte到tinyint),c#,asp.net,linq-to-sql,C#,Asp.net,Linq To Sql,我卡住了 我有SP dbo.getbalance,它返回多个记录集。实际上是2个重编码集 SP的一个参数是TINYINT lang_type,我在c中知道它是System.Byte,但是当我试图传递这个参数时,我得到了一个错误:索引超出了数组的边界 这是我的密码 public class Balance : DataClasses1DataContext { [Function(Name = "dbo.getbalance")] [ResultType(t
public class Balance : DataClasses1DataContext
{
[Function(Name = "dbo.getbalance")]
[ResultType(typeof(BalanceUserList))]
[ResultType(typeof(UserBalanceAccount))]
public IMultipleResults GetUserBalance(int iclient_no, int session_id, DateTime? bal_date)
{
System.Byte lang_type = 0;// Helper.GetLanguage();
IExecuteResult result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())),
iclient_no, session_id, bal_date, lang_type );
return (IMultipleResults)(result.ReturnValue);
}
}
和SP的参数
@iclient_no INT,
@session_id INT,
@bal_date SMALLDATETIME ,
@lang_type TINYINT = NULL
我做错了什么?tinyint相当于一个无符号字节:0到255在这几行中发生了很多事情。当您得到该异常时,调用堆栈是什么样子的?如果我理解正确的话,下面是错误的图片:GetUserBalance方法只接受3个参数,而您在ExecuteMethodCall中提供了4个参数。我假设这就是它停止的原因。rene GetUserBalance只是一个调用SP的方法,SP接受4个参数,我无法传递nullable参数: