首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.net按日期分组忽略时间

问VB.net按日期分组忽略时间
EN

Stack Overflow用户
提问于 2017-07-06 09:40:59
回答 2查看 215关注 0票数 0

目前,我试着按日期分组,但忽略了我的dgv按时间分组的时间,我环顾四周,努力适应工作。这是原代码,但按日期/时间分组。

代码语言:javascript
复制
Dim sql2
    Try

        connect()
        sql2 = "SELECT r_datetime, SUM(r_quantity) FROM [r_repair] WHERE r_location = 'CNV' AND r_line =('" & computer_line & "') AND r_datetime >= @startdata2 AND r_datetime < @enddata2 AND r_area = 'DPMO(T)' GROUP BY r_datetime"
        Dim adapter2 As New SqlDataAdapter(sql2, con)

        With adapter2.SelectCommand.Parameters
            .Clear()

            .Add("@startdata2", SqlDbType.DateTime).Value = monthly_from.Value
            .Add("@enddata2", SqlDbType.DateTime).Value = monthly_to.Value.AddDays(1)
        End With

        Dim table_stencil As New DataTable()
        table_stencil.Locale = System.Globalization.CultureInfo.InvariantCulture
        adapter2.Fill(table_stencil)
        Me.bs_m_t.DataSource = table_stencil

        dgv_m_t.DataSource = bs_m_t

        disconnect()

        dgv_m_t.RowHeadersWidth = "28"

        dgv_m_t.Columns(0).HeaderText = "Date:"
        dgv_m_t.Columns(1).HeaderText = "Quantity:"

        dgv_m_t.EnableHeadersVisualStyles = False

    Catch ex As System.Exception
    End Try

有什么想法吗?

干杯,皮特

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-06 09:56:35

首先,应该始终参数化所有变量。

其次,如果您想按日期分组,则不能在选择列表中包含日期时间,您必须执行如下操作:

代码语言:javascript
复制
SELECT cast(r_datetime as date) as r_date, 
       SUM(r_quantity) as r_sum_quantity
FROM [r_repair] 
WHERE r_location = 'CNV' 
AND r_line = @r_line
AND r_datetime >= @startdata2 
AND r_datetime < @enddata2 
AND r_area = 'DPMO(T)' 
GROUP BY CAST(r_datetime as date)
票数 0
EN

Stack Overflow用户

发布于 2017-07-06 09:55:07

使用CONVERT(DATE, r_datetime)。date数据类型没有时间组件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44945269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档