CaThey Joy Galias Ответов: 1

Как получить total time_in и time_OUT, используя оператор SELECTION ?


привет, мне нужна помощь как можно скорее ....я создал систему расчета заработной платы с автоматическим подсчетом общего количества часов с 22.03.2018 по 25.03.2018

у меня есть столбец базы данных MySQL No,Name,date,Position,time_IN и time_OUT
DataGridView имеет 3 столбца, заголовок date,time_IN и time_OUT

у меня есть кнопка "заполнить", которая после того, как я нажму все общее time_IN и time_OUT одного сотрудника с 02.03.2018 по 30.03.2018 показывает в текстовом поле(total), а вся информация о дате, time_IN и time_OUT должна отображаться в datagridview


у меня есть информация о времени здесь: (один сотрудник)
дата=22/03/2018,time_IN=7:00,time_OUT=17:30
дата=23/03/2018,time_IN=6:30,time_OUT=17:20
дата=24/03/2018,time_IN=6:45,time_OUT=17:05
дата=25/03/2018,time_IN=6:10,time_OUT=17:10


Примечание:любое время и минута, которые меньше 7:00, начнут свое время в 7:00, а как только оно превысит 7:00, считается опозданием на 1 час

Примечание: любое время, которое больше 17:00, все еще считается 17:00, а затем меньше 16:30 считается нерабочим временем

любые комментарии и предложения......

Что я уже пробовал:

я попробовал этот код, который является неполным, потому что из запроса mysql значение, которое мне нужно увидеть в datagridview, не появляется

<pre> Try
             
                conn.Open()
                query = New MySqlCommand("SELECT No, Name, date,position,time_IN ,time_OUT From cash_table WHERE No=" & txtID.Text & " AND (date BETWEEN '" & DateTimePicker2.Value.Date & "' AND '" & DateTimePicker3.Value.Date & "')", conn)
                dr = query.ExecuteReader()
                If dr.HasRows Then
                    Do While dr.Read()
                        txtName.Text = dr.GetString("Name")
                        txtPosition.Text = dr.GetString("position")

                        arr(0) = dr.Item("date")
                        arr(1) = dr.Item("time_IN")
                        arr(2) = dr.Item("time_OUT")
                        DataGridView1.Rows.Add(arr)

                        time1 = dr.Item("time_IN")
                        time2 = dr.Item("time_OUT")

                 
                dr.Dispose()

            Catch ex As Exception
                MsgBox(ex.Message)

            Finally
                dr.Dispose()
                conn.Close()

            End Try

            If txtID.Text = "" Then
                DataGridView1.Rows.Clear()
                txtName.Clear()
                txtPosition.Clear()
            End If

        End If

1 Ответов

Рейтинг:
1

OriginalGriff

Репост: а если вы не послушаете, что мы вам вчера сказали: Каково правильное вычисление для получения общего количества часов времени входа и выхода[^]
Тогда какой смысл тебе что-то рассказывать?

Я еще раз повторю:

Цитата:
Никогда не объединяйте строки для построения команды SQL. Это оставляет вас широко открытыми для случайной или преднамеренной атаки SQL-инъекции, которая может уничтожить всю вашу базу данных. Вместо этого используйте параметризованные запросы.
Вы найдете полную причину этого во вчерашнем вопросе и его ответах.