【问题标题】:Displaying SQL results with an condition DGV VB.NET显示带有条件 DGV VB.NET 的 SQL 结果
【发布时间】:2012-06-13 19:36:11
【问题描述】:

我的问题在于将值显示到 DGV 控件的单元格中,例如:

MySQL 表:

ID - Name      - Price    - Type
1    Mouse Pad   2.85$    -  a
2    Keyboard    10.50$   -  a
3    Hard Disk   80.00$   -  c
4    Web Cam     15.02$   -  b
5    Printer     45.62$   -  c
6    DVD Writer  20.00$   -  b

我的 DataGridView 控件:

ID - Name       - PriceA    - PriceB    - PriceC

我想显示使用这些条件过滤的结果[VB.NET sintax]:

If SQLcolumn(Type) = a Then, show the price into PriceA into the DGV.
If SQLcolumn(Type) = b Then, show the price into PriceB into the DGV.
If SQLcolumn(Type) = c Then, show the price into PriceC into the DGV.

【问题讨论】:

    标签: sql vb.net winforms datagridview filter


    【解决方案1】:

    一种方法是创建一个包含 5 列的自定义列表:ID、名称、价格A、价格B、价格C 例如,在从数据库中获取数据并将数据填充到数据表中之后,您可以逐行处理数据表并检查您的数据表行的类型列是否为“a”类型,然后将该行添加到列表中并将价格添加到列表的 PriceA 列,在处理整个数据表并将其所有行添加到 List 之后,您可以将 List 设置为 Datagridview 数据源!

    【讨论】:

      【解决方案2】:

      您可以使用 SQL Pivot 操作符来做到这一点:

      SELECT  ID ,
              Name ,
              [a] AS [TypeA] ,
              [b] AS [TypeB] ,
              [c] AS [TypeC]
      FROM    tbl PIVOT ( SUM(Price) FOR TYPE IN ( a, b, c ) ) AS pvt
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-09
        • 1970-01-01
        • 2015-12-11
        • 1970-01-01
        • 2012-10-07
        • 2021-11-02
        • 2020-12-10
        • 1970-01-01
        相关资源
        最近更新 更多