我遇到了一个问题,我正在使用 dr.hasrows If 语句,它返回为假(当我 100% 肯定时,它是真的)。我对 VB 和(IBM)SQL 都很陌生,但我过去曾让这个命令正常工作。
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Dim SQL As String = "Select * from testlib.hrcontra where @HRAART=HRAART and @HRASEC=HRASEC and @HRAPAR=HRAPAR and @HRASEQ=HRASEQ and @HRARED=HRARED"
Using cmd As New iDB2Command(SQL, CN)
cmd.DeriveParameters()
cmd.Parameters("@HRAART").Value = SCRHRAART
cmd.Parameters("@HRASEC").Value = SCRHRASEC
cmd.Parameters("@HRAPAR").Value = SCRHRAPAR
cmd.Parameters("@HRASEQ").Value = SCRHRASEQ
'cmd.Parameters("@HRARED").Value = SCRHRARED
Try
Using dr As iDB2DataReader = cmd.ExecuteReader
dr.Read()
If dr.HasRows = True Then
MsgBox("Table already exists!")
Exit Sub
End If
End Using
Catch ex As iDB2Exception
Form1.HandleError("An error occurred on cmd.ExecuteReader()", ex)
Exit Sub
End Try
End Using
我是否需要确定使用所有字段(甚至非键)?或者,我可以在这种情况下使用 4 个关键字段(这是目标)。我已经尝试从 SQL 和 VB.net 角度来解决解决方案,但无处可去。e