Hi guys
I have a DataGridView with Header Colunms days of month.
Here is an image
https://ibb.co/b3JPRXN
I use this code to load data from database
<pre> Private Sub fill_plan()
EmployeeGridView.Rows.Clear()
Try
Dim i As Integer = 0
con.Open()
Dim query As String = "SELECT UnitID,Unit,Udate,State FROM Units where Month(Udate) =" & cmbMonth.SelectedIndex + 1 & ""
cmd = New SqlCommand(query, con)
myDR = cmd.ExecuteReader
If myDR.HasRows Then
While myDR.Read
EmployeeGridView.Rows.Add()
EmployeeGridView.Rows(i).Cells(0).Value = myDR.GetInt32(myDR.GetOrdinal("UnitID"))
EmployeeGridView.Rows(i).Cells(1).Value = myDR.GetString(myDR.GetOrdinal("Unit"))
Dim myday As Integer = DatePart(DateInterval.Day, myDR.GetValue(myDR.GetOrdinal("Udate")))
EmployeeGridView.Rows(i).Cells(myday + 1).Value = myDR.GetString(myDR.GetOrdinal("State"))
i = i + 1
End While
End If
myDR.Close()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Σφάλμα")
End Try
End Sub
What I have tried:
Private Sub btnAdd_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAdd.Click
Try
con.Open()
cmd.CommandText = "INSERT INTO Units(Unit,Udate,State) VALUES(@unit,@udate,@state)"
cmd.Parameters.Add("@unit", SqlDbType.NVarChar, 255)
cmd.Parameters.Add("@udate", SqlDbType.DateTime)
cmd.Parameters.Add("@state", SqlDbType.NVarChar, 10)
For Each row As DataGridViewRow In EmployeeGridView.Rows
For i = 1 To 31
cmd.Parameters("@unit").Value = EmployeeGridView(1, EmployeeGridView.CurrentCell.RowIndex).Value.ToString()
cmd.Parameters("@udate").Value =
cmd.Parameters("@state").Value =
cmd.ExecuteNonQuery()
Next
Next
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Σφάλμα")
End Try
End Sub
The parameters are empty because i don't know what to write
Thanks in advance