J_Mohan Ответов: 1

Как проверить нулевую дату


Привет Друзья,

Я использую цикл for Для сравнения даты таблицы доступа и даты выбора даты, используя следующий код, но я получаю нулевое значение для следующего цикла. Если он равен нулю, то перейдите к следующей строке, прочтите следующее значение и сравните его. Мои коды выглядят следующим образом:

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

Private Sub DtpFrom_LostFocus(sender As Object, e As EventArgs) Handles DtpFrom.LostFocus

	LvMasterReader = LvMasterCmd.ExecuteReader()

        For I = 0 To LEN - 1

            LvMasterReader.Read()

            If LvMasterReader("Mnt") = CmbMonth.Text And LvMasterReader("Yr") = CmbYear.Text And LvMasterReader("SAP_No") = TxtSapID.Text Then
                FND = 1
                FDT = LvMasterReader("From_Date").ToString

	' I Want to check this FDT before convertion 

	' IF IsDBNull (FDT) then
	' Proceed to next row and read the next value before comparing.
	
	' HOW CAN I DO THIS IN FOR LOOP ?
 
                FDT = CDate(FDT)
                FDT = FormatDateTime(FDT, vbShortDate)

                If FDT = FormatDateTime((DtpFrom.Value), vbShortDate) Then

                    MsgBox("Leave Already Posted.....!", vbOKOnly, "FF Leaves")
                    CmbLeaveType.Focus()
                    Exit Sub
                End If
            End If
        Next

  End Sub

1 Ответов

Рейтинг:
1

Bryian Tan

Вы можете использовать IsDBNull функция для проверки того, содержит ли столбец какое-либо ненулевое значение. Вот пример того, как это сделать. Кстати, что делает петля for?

Dim FDT As String
Dim fdtIndex As Integer

For I = 0 To LEN - 1
    If LvMasterReader.Read() Then

'...
'...
        fdtIndex = LvMasterReader.GetOrdinal("From_Date")

        If Not LvMasterReader.IsDBNull(fdtIndex) Then
            FDT = LvMasterReader(fdtIndex).ToString
            FDT = CDate(FDT)
            FDT = FormatDateTime(FDT, vbShortDate)
        Else
            FDT = String.Empty 'reset
        End If
'...
'...
    End If
 Next


Класс sqldatareader.Метод GetOrdinal (String) (System.Data.SqlClient)[^]