I would change this:
Code:
Dim sql1 As New SqlClient.SqlCommand("SELECT * From TIMECARDS WHERE [EMPNUM] = " & CInt(txtEmpNumber.Text) & " ORDER BY [PAYDATE] DESC, [SHIFTDATE] DESC")
Like this
Code:
Dim empNum As Integer
If Not Interger.TryParse(Me.txtEmpNumber.Txt,empNum) Then
    MessageBox.Show("Please enter a valid Employee Number")
    Exit Sub
End IF

Dim sql1 As New SqlClient.SqlCommand("SELECT * From TIMECARDS WHERE [EMPNUM] =  @EmpNum ORDER BY [PAYDATE] DESC, [SHIFTDATE] DESC")
sql1.ParametersAddWithValue (@EmpNum) = @empNumber
Then for the datagrid
Code:
                       Using reader1
                        If reader1.HasRows Then
                              Me.DataGrid1.DataSource = reader1
                        End If
                    End Using
                    sql1.Dispose()