我希望这是一个简单的,因为这是我第一个使用 Oracle 11g(版本 11.2)的 WPF。应用。
我可以从我的 WPF 应用程序代码中调用 Oracle 存储过程并检索输出(int 和字符串)参数,但是当我尝试检索日期值时,我只得到以下值01/01/0001 00:00:00
,这表明实际上没有返回日期?
存储过程在 Oracle 中运行良好,即它返回日期。
这是我的代码:
string sql = "pkge_intautotest.ScheduleNextRun";
OracleCommand cmd = new OracleCommand(sql, conn);
cmd.BindByName = true;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
DateTime outSchedDateTime;
cmd.Parameters.Add("outSchedDateTime", OracleDbType.Date, ParameterDirection.Output);
cmd.ExecuteNonQuery();
//Get the values output by the stored procedure
outSchedDateTime = (DateTime)cmd.Parameters["outSchedDateTime"].Value;
conn.Close();
conn.Dispose();
这是我的(简化的)存储过程:
PROCEDURE ScheduleNextRun (inIntno NUMBER, outCaseno OUT NUMBER, outSchedDateTime OUT DATE ) AS
BEGIN
DECLARE
sched_datetime DATE;
init_diary_id DIARY.ID%TYPE;
v_proceed PLS_INTEGER;
BEGIN
-- Get the schedule time for 4 minutes from now
SELECT TO_DATE(SYSDATE + 4/(24*60)) INTO sched_datetime FROM dual;
outSchedDateTime := sched_datetime;
END;
END ScheduleNextRun;
我会继续看这个,但有什么想法我做错了吗?