我正在尝试测试是否为null的OracleParameter(输出)。有一个参数属性.Value.IsNull
,但是我似乎无法使用以下内容进行测试,因为它标记为Option Strict On项目属性的后期绑定。
If CBool(Command.Parameters("param").Value.IsNull) Then
该属性无论如何都是布尔型,因此它应该可以正常工作,但是即使我这样做CBool()也不能处理转换吗?
编辑
答案 0 :(得分:0)
从<!DOCTYPE html>
<html lang='en'>
<head>
<title>Test Page</title>
</head>
<body>
<table>
<thead>
<tr>
<th>Name</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>A</td>
<td><a href="#"><span class="alignleft">Some Text Align Left</span><span class="alignright">Some Text Align Right</span></a></td>
</tr>
<tr>
<td>B</td>
<td><a href="#"><span class="alignleft">A</span><span class="alignright">B</span></a></td>
</tr>
<tr>
<td>C</td>
<td>
<a href="#">
<span class="alignleft">A</span>
<span class="alignright">C</span>
</a>
</td>
</tr>
</tbody>
</table>
</body>
</html>
检索值的正确方法是将值分配给相应的Oracle结构。因为OracleParameter
不包含.NET类型,而是包含Oracle类型。例如,如果您期望数值类型的参数-使用OracleParameter.Value
OracleDecimal结构表示数据库中的Oracle NUMBER或任何 Oracle数值。
OracleDecimal
您看到的Dim od As OracleDecimal = CType(Command.Parameters("param").Value, OracleDecimal)
Dim isNull As Boolean = od.IsNull
属于.Value.IsNull
或其他ODP类型,如下所示。当您浏览到对象时。但是对于编译器OracleDecimal
是Value
,并且对象没有定义Object
。因此-后期绑定。参见https://docs.oracle.com/cd/B28359_01/win.111/b28375/OracleDecimalStructure.htm#i1005704
IsNull
和OracleString
的相同/相似之处