sql
  • vb.net
  • 2017-07-06 202 views 0 likes 
    0

    当前尝试按日期进行分组,但忽略提示它的时间,因为我的dgv按时间对其进行了分组,但我环顾四周,正在努力适应工作。这是可以工作的原始代码,但是按日期/时间分组。VB.net GROUP By日期忽略时间

    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 
    

    任何想法的?

    干杯, 皮特

    回答

    0

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

    第二,如果你想按日期组,你不能在选择列表中的日期时间,你必须做这样的事情:

    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

    就像一个治疗 - 只是一个简单的一,我的数据是02/07/2017和04/07/2017 - 它很容易让它显示一个日期,没有数据给它的数量为0,所以在dgv它将展示01/07/2017,02/07/2017,03/07/2017 .....? –

    +0

    首先,我[很高兴帮助](http://meta.stackoverflow.com/questions/291325/how-to-show-appreciation-to-a-user-on-stackoverflow/291327#291327) 。其次,你可能想看看[这个链接](https://stackoverflow.com/questions/38218157/get-all-day-of-month-then-mapping-data-to-specific-date/38219556#38219556 )。 –

    0

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

    相关问题