抛出新的NotImplementedException()

时间:2013-04-30 15:37:18

标签: c# linq

下面的代码不断抛出异常抛出新的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;
        }

1 个答案:

答案 0 :(得分:50)

它就在你的代码中

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

这正是它所说的,你的方法还没有实现。它没有做任何事情。它只是作为占位符。

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