【问题标题】:Populating data in GridView in a peculiar manner [Special Case]以特殊方式填充 GridView 中的数据 [特例]
【发布时间】:2013-08-27 09:56:02
【问题描述】:

http://imageshack.us/photo/my-images/837/6uvs.jpg/

我有以下表格和关系。

加载 NEW_CHALLAN 表单时,我正在尝试使用产品详细信息填充网格视图 - 产品名称、阶段、专业、Katta、包装、费率、数量。

我在使用 JOIN 进行此操作时遇到问题(获取 0 条记录作为结果集),因为 ChallanProductDetails 表中还没有匹配的记录(ChallanId、ProductId、OrderId)(加载表单时)

关于如何解决这个问题的任何建议?

【问题讨论】:

  • 你尝试自己解决这个问题吗?
  • 您需要回答以下问题:winforms 还是 asp.net?提供数据源和查询。描述控件的连接方式。
  • 您是否尝试加载产品详细信息,即使 ChallanProductDetails 中没有任何内容?如果是这样,请在查询中尝试左连接。

标签: sql database vb.net gridview


【解决方案1】:

如果您尝试加载产品详细信息,即使没有订单/挑战详细信息,那么您可以尝试以下操作,

从产品 a 中选择 a.productname,a.productprice,c.stage,c.pro...等 左外连接 challanproductdetails b a.productid=b.productid

【讨论】:

  • SELECT Product.ProductName AS [Product Name], ChallanProductDetails.Stage, ChallanProductDetails.Pro AS [Producer], ChallanProductDetails.LotNo AS [Lot No], ChallanProductDetails.Katta, ChallanProductDetails.Packing, ChallanProductDetails.RatePerKg AS [Rate Per Kg], ChallanProductDetails.Quantity AS [Quantity in Kgs] FROM (ChallanProductDetails LEFT JOIN OrderProductDetails ON ChallanProductDetails.OrderId=OrderProductDetails.OrderId) LEFT JOIN Product ON OrderProductDetails.ProductId=Product.ProductId WHERE (((ChallanProductDetails.OrderID) =3));
  • 当我触发这个查询时我得到 0 行
  • 抱歉回复晚了。我想重申一下,ChallanProductDetails 中还没有匹配的记录(这里是 OrderId)。
【解决方案2】:

兄弟,我不确定您到底要从一个视图或两个表中检索数据,如果您只检索那么为什么不创建两个表的视图并直接将其调用到网格会很容易。

如果我错了,请纠正我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    • 2019-09-26
    • 2014-11-20
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 2016-02-02
    相关资源
    最近更新 更多