【问题标题】:Function is not working [closed]功能不起作用[关闭]
【发布时间】:2013-08-23 17:00:14
【问题描述】:

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

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();
    }
}

【问题讨论】:

  • 你的问题很模糊。您是否尝试过调试代码?
  • -1:您必须自己调试 - 除非您提供显示问题的小样本(而不是调用随机私有函数),否则此问题可能会被关闭。
  • CommerceLibAccess.GetOrdersByRecent(recordCount) 不返回任何项目。就是这样。我们无法告诉您更多信息,因为我们不知道该功能是如何工作的,也不知道您的数据库的外观。在该行放置一个断点,然后自己遍历代码。
  • 以上都是真的,但你的CommandText属性中的“OrdersGetByRecent”又是什么?那应该是一个存储过程吗?或者你只是省略了 SELECT 字符串。如果您在我遇到过的任何 sql 系统中运行“OrdersGetByRecent”......您将得到一个错误(很可能)或返回一个空集。如果您使用的是存储过程,则需要声明 comm.CommandType 属性。
  • 它是存储过程,我可以在sql查询中运行它。我试过 comm.CommandType = CommandType.StoredProcedure;但结果是一样的。

标签: c# asp.net .net


【解决方案1】:

你得到零订单是因为

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

正在返回一个空列表。


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

return ConvertDataTableToOrders (GenericDataAccess.ExecuteSelectCommand (comm));

正在返回一个空数据表。

您必须深入研究您的数据表才能弄清楚为什么它认为它是空的。
(也许是因为它实际上是空的??)

【讨论】:

  • 没有冒犯,但这只是说明 OP 上的 cmets 所说的。除了“调试它”和“它不返回任何行”之外,我们没有什么可以告诉他的
  • 是的。 sql JOIN 查询出错。
【解决方案2】:

表字段“OrderID”和OrderID的OrderInfo属性需要相同

class OrderInfo
{

int OrderID;

}

检查一下...

【讨论】:

  • 我很困惑你的意思。这个属性在哪里?这有什么作用?
  • 好的,你有一个 OrderInfo 类。告诉我它包含的数据成员
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2013-12-11
  • 2011-12-03
  • 2013-08-06
  • 2021-03-26
  • 1970-01-01
相关资源
最近更新 更多