-1
在插入SQL時,我有可空列的機器ID。如果該字段中有某種類型,我希望它檢查該值是否存在。這工作得很好。但是,因爲它不是一個必需的表條目,我希望它忽略該字段,如果爲空,只需插入null。現在我已經嘗試了幾種不同的方法,即使它是空的,它也會繼續驗證該字段,或者在未驗證的情況下添加所有內容。這是最新的嘗試:如果datagridview單元格不是null,那麼?其他?
If IsDBNull(DataGridView3.Rows(i).Cells("Machine ID").Value) = False Then
STSQL = "select machine_id from mpcs.machine where machine_id = " & "'" & DataGridView3.Rows(i).Cells("Machine ID").Value & "'"
rsMPCS = MPCS_SELECT_SQL(UCase(STSQL), rsMPCS)
If Not rsMPCS.HasRows Then
MessageBox.Show("Not a valid Machine ID")
Return
End If
rsMPCS.Close()
ElseIf IsDBNull(DataGridView3.Rows(i).Cells("Machine ID").Value) = True Then
DataGridView3.Rows(i).Cells("Machine ID").Value = vbNull
End If
好吧我想通了這種方式的作品。
If MachID = Nothing Then
MachID = vbNull
Else
STSQL = "select machine_id from mpcs.machine where machine_id = " & "'" & DataGridView3.Rows(i).Cells("Machine ID").Value & "'"
rsMPCS = MPCS_SELECT_SQL(UCase(STSQL), rsMPCS)
If Not rsMPCS.HasRows Then
MessageBox.Show("Not a valid Machine ID")
Return
End If
rsMPCS.Close()
End If
它仍然會驗證條目是否有效,但elseif仍在驗證而不是忽略它的有效與否。 – Lee