我试图从订单表中显示最近的“订单”。但即使我在表格中有一些订单,我也会收到“无订单获取”的消息。代码有什么问题?
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();
}
}
答案 0 :(得分:1)
您获得零订单,因为
List<OrderInfo> orders = CommerceLibAccess.GetOrdersByRecent(recordCount);
返回一个空列表。
它返回一个空列表,因为:
return ConvertDataTableToOrders (GenericDataAccess.ExecuteSelectCommand (comm));
返回一个空的数据表。
你必须深入挖掘数据表,找出它认为为空的原因 (也许是因为它实际上是空的?)
答案 1 :(得分:-1)
表字段“OrderID”和OrderID的OrderInfo属性必须相同
class OrderInfo
{
int OrderID;
}
检查一下......