8

下面的代码不断抛出异常 throw new NotImplementedException() 我不确定如何修复它。我正在尝试捕获下面存储过程返回的日期时间。

public void FormCarry_Load(object sender, EventArgs e)
{
    System.DateTime? test;
    test = new System.DateTime(2013, 04, 22);

    //    spMaxDateinGreeks test2 = new spMaxDateinGreeks();

    test = (DateTime)spMaxDateinGreeks(ref test);

    monthCalendarAdv1.Value = test.Value;
    monthCalendarAdv1.Value = new System.DateTime(2013, 04, 22); 
}

private DateTime spMaxDateinGreeks(ref DateTime? test)
{
    throw new NotImplementedException();
}

ALTER PROCEDURE [dbo].[spMaxDateinGreeks] (@returneddate datetime OUTPUT)
--spMaxDateinGreeks null

AS
SET NOCOUNT ON;
--if @InqDate is null
Select @returneddate= max(valuationdate) 
 from Greeks

 RETURN

编辑:@Sam 这是设计师实现的

 public virtual int spMaxDateinGreeks(ref global::System.Nullable<global::System.DateTime> returneddate) {
            global::System.Data.SqlClient.SqlCommand command = ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[0]));
            if ((returneddate.HasValue == true)) {
                command.Parameters[1].Value = ((System.DateTime)(returneddate.Value));
            }
            else {
                command.Parameters[1].Value = global::System.DBNull.Value;
            }
            global::System.Data.ConnectionState previousConnectionState = command.Connection.State;
            if (((command.Connection.State & global::System.Data.ConnectionState.Open) 
                        != global::System.Data.ConnectionState.Open)) {
                command.Connection.Open();
            }
            int returnValue;
            try {
                returnValue = command.ExecuteNonQuery();
            }
            finally {
                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
                    command.Connection.Close();
                }
            }
            if (((command.Parameters[1].Value == null) 
                        || (command.Parameters[1].Value.GetType() == typeof(global::System.DBNull)))) {
                returneddate = new global::System.Nullable<global::System.DateTime>();
            }
            else {
                returneddate = new global::System.Nullable<global::System.DateTime>(((global::System.DateTime)(command.Parameters[1].Value)));
            }
            return returnValue;
        }
4

1 回答 1

56

它就在您的代码中

private DateTime spMaxDateinGreeks(ref DateTime? test)
{
    throw new NotImplementedException();
}

它的意思正是它所说的,你的方法还没有实现。它什么也没做。它只是作为占位符存在。

您应该实施spMaxDateinGreeks或停止调用它。

于 2013-04-30T15:39:11.193 回答