功能不起作用

时间:2013-08-23 17:00:14

标签: c# asp.net .net

我试图从订单表中显示最近的“订单”。但即使我在表格中有一些订单,我也会收到“无订单获取”的消息。代码有什么问题?

public static List<OrderInfo> GetOrdersByRecent (int count)
{
    DbCommand comm = GenericDataAccess.CreateCommand ();
    comm.CommandText = "OrdersGetByRecent";
    DbParameter param = comm.CreateParameter ();
    param.ParameterName = "@Count";
    param.Value = count;
    param.DbType = DbType.Int32;
    comm.Parameters.Add (param);
    return ConvertDataTableToOrders (GenericDataAccess.ExecuteSelectCommand (comm));
}

protected void byRecentGo_Click(object sender, EventArgs e)
{
    try
    {
        int recordCount = Int32.Parse(recentCountTextBox.Text);
        List<OrderInfo> orders = CommerceLibAccess.GetOrdersByRecent(recordCount);
        grid.DataSource = orders;
        if (orders.Count == 0)
        {
            errorLabel.Text = "<br />No orders to get.";
        }
    }
    catch
    {
        errorLabel.Text = "<br />Couldn't get the requested orders!";
    }
    finally
    {
        grid.DataBind();
    }
}

2 个答案:

答案 0 :(得分:1)

您获得零订单,因为

List<OrderInfo> orders = CommerceLibAccess.GetOrdersByRecent(recordCount);

返回一个空列表。


它返回一个空列表,因为:

return ConvertDataTableToOrders (GenericDataAccess.ExecuteSelectCommand (comm));

返回一个空的数据表。

你必须深入挖掘数据表,找出它认为为空的原因 (也许是因为它实际上是空的?)

答案 1 :(得分:-1)

表字段“OrderID”和OrderID的OrderInfo属性必须相同

class OrderInfo
{

int OrderID;

}

检查一下......