从存储过程错误中获取日期时间
Getting DateTime from stored procedure error
我正在尝试从我的 SQL 服务器上的存储过程中提取 DateTime
。
存储过程变量:
@TempDateTime DateTime = '' OUTPUT
SET @TempDateTime = GETDATE()
我的 C# CF 2.0 程序中出错的行
DateTime tempDT = Convert.ToDateTime(sqlcmd.Parameters["@TempDateTime"].Value);
我收到以下错误,我不知道它是什么。我的存储过程可以发回空值吗?我执行存储过程,它在另一段代码上运行良好。获取 DateTime
并将其插入 table,但当我尝试检索 DateTime
var.
时出错
System.IndexOutOfRangeException was unhandled
Message="An {0} with {1} '{2}' is not contained by this {3}."
StackTrace:
at System.Data.SqlClient.SqlParameterCollection.RangeCheck()
at System.Data.SqlClient.SqlParameterCollection.get_Item()
at Missouri_Scanning_Utility.Form1.updateDatabase()
at Missouri_Scanning_Utility.Form1.tmrUpdateDatabase_Tick()
at System.Windows.Forms.Timer._WnProc()
at System.Windows.Forms.ApplicationThreadContext._InternalContextMessages()
at Microsoft.AGL.Forms.EVL.EnterMainLoop()
at System.Windows.Forms.Application.Run()
at Missouri_Scanning_Utility.Program.Main()
当您定义要发送给调用的参数值时,您必须相应地声明 OUTPUT
参数。
由于您没有发布代码的相关部分,这里是执行此操作的一般过程:
var tempDateTimeParam = new SqlParameter("@TempDateTime", SqlDbType.DateTime)
{
Direction = ParameterDirection.Output
};
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add(tempDateTimeParam);
// Add additional params.
// Execute stored proc.
// Read result from output param which should now have a value.
var tempDateTimeValue = (DateTime)tempDateTimeParam.Value;
我正在尝试从我的 SQL 服务器上的存储过程中提取 DateTime
。
存储过程变量:
@TempDateTime DateTime = '' OUTPUT
SET @TempDateTime = GETDATE()
我的 C# CF 2.0 程序中出错的行
DateTime tempDT = Convert.ToDateTime(sqlcmd.Parameters["@TempDateTime"].Value);
我收到以下错误,我不知道它是什么。我的存储过程可以发回空值吗?我执行存储过程,它在另一段代码上运行良好。获取 DateTime
并将其插入 table,但当我尝试检索 DateTime
var.
System.IndexOutOfRangeException was unhandled
Message="An {0} with {1} '{2}' is not contained by this {3}."StackTrace:
at System.Data.SqlClient.SqlParameterCollection.RangeCheck()
at System.Data.SqlClient.SqlParameterCollection.get_Item()
at Missouri_Scanning_Utility.Form1.updateDatabase()
at Missouri_Scanning_Utility.Form1.tmrUpdateDatabase_Tick()
at System.Windows.Forms.Timer._WnProc()
at System.Windows.Forms.ApplicationThreadContext._InternalContextMessages()
at Microsoft.AGL.Forms.EVL.EnterMainLoop()
at System.Windows.Forms.Application.Run()
at Missouri_Scanning_Utility.Program.Main()
当您定义要发送给调用的参数值时,您必须相应地声明 OUTPUT
参数。
由于您没有发布代码的相关部分,这里是执行此操作的一般过程:
var tempDateTimeParam = new SqlParameter("@TempDateTime", SqlDbType.DateTime)
{
Direction = ParameterDirection.Output
};
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add(tempDateTimeParam);
// Add additional params.
// Execute stored proc.
// Read result from output param which should now have a value.
var tempDateTimeValue = (DateTime)tempDateTimeParam.Value;