2017-06-27 15 views
1

これは動作します:のOracle vb.net選択パラメータDBNull.Valueの

Dim stSQL as String = "Select ID From Table Where COL Is Null" 
Dim cmd As New OracleCommand 
cmd.Connection = ... 
cmd.CommandText = stSQL 
cmd.BindByName = True 

    Try 
     Dim oRet As Object = cmd.ExecuteScalar 

     If oRet IsNot Nothing Then 
      If oRet > 0 Then 
       ... 
      End If 
     End If 
    Catch ex As Exception 
     Throw ex 
    End Try 

を私はパラメータを使用するSQL文字列を変更する場合:

Dim stSQL as String = "Select ID From Table Where COL = :COL" 

and add: 

cmd.Parameters.Add(New OracleParameter("COL", DBNull.Value)) 

それは動作しません...(oRet =何もない)どんなアイデアですか? - ありがとう。

のOracle 12cと、VS2017、Oracle.DataAccessのv4.112.3.0

答えて

0

NULLは、あなたが同じで比較を行うことができない、 "定義されていません" という意味します。 = NULLと比較されるものはすべてfalseを返します。

WHERE COL IS NULLを使用する必要があります。

関連する問題