开发者

How do I find the last rows each machine_id in mysql database with vb.net?

'    machine_id   time_schedule  product_quantity
'        1                            100
'        1                            200          
'        1                            100          <<  find this value(100)
'        2            05:00:00
'        2            10:00:00
'        2            15:00:00                     <<  find this value(15:00:00)
'        3                            100           
'        3                            300          <<  find this value(300)
'        4                            200           
'        4                            100           
'        4                            50           <<  find this value(50)

How do I find the last rows each machine_id in mysql database with vb.net?? Thanks

    Private Sub btnAddSchedule_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddSchedule.Click
    Try
        Dim ts As TimeSpan = TimeSpan.Parse(Me.dtpSchedule.Text

        ' PROBLEM IN HERE ??? 
        Dim rwFound As DataRow = MyDataset.Tables("totalizer_setting").Rows.Find( ??? )
        If IsNothing(rwFound) Then
        Dim rw As DataRow = MyDataset.Tables("tota开发者_StackOverflow社区lizer_setting").NewRow
        rw("machine_id") = Me.txtMachineID.Text
        rw("time_schedule") = ts
        rw("product_quantity") = DBNull.Value
        MyDataset.Tables("totalizer_setting").Rows.Add(rw)

        Dim sql As String = String.Format("INSERT INTO {0}.totalizer_setting (machine_id, time_schedule, product_quantity) VALUES ({1});", varSchema, "@machine_id, @time_schedule, @product_quantity")
        Dim cmd As New MySqlCommand(sql, objCon)
        cmd.Parameters.AddWithValue("@machine_id", Me.txtMachineID.Text)
        cmd.Parameters.AddWithValue("@time_schedule", ts)
        cmd.Parameters.AddWithValue("@product_quantity", DBNull.Value)
        MyDataAdapter.InsertCommand = cmd
        MyDataAdapter.Update(MyDataset, "totalizer_setting")
        cmd.Dispose()

       End If
    Catch ex As MySqlException
        MessageBox.Show("Error occurred in btnAddSchedule_Click Function" & vbCrLf & ex.Number & " – " & ex.Message)
    End Try
End Sub


Something like this should work

select last(time_schedule), last(product_quality) from yourTable group by machine_id

On a second thought, I'm not if mysql has last() function (sql server does). If mysql doesn't have it, you can either use first() with reverse order or see the answer from this post

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜