【发布时间】:2013-07-02 20:18:19
【问题描述】:
在过去的 2 小时里,我试图找出无法绑定参数的原因(我知道我没有使用“使用”块。而且我知道 System.Data.OracleClient 已被弃用。)请帮我看看以下代码有什么问题:
Dim nCount As Integer
sSQL = " SELECT COUNT(*) FROM USERS WHERE USER_ID = :UID "
Dim conn As OracleConnection = New OracleConnection(ConfigurationSettings.AppSettings("connString"))
conn.Open()
Dim cmd As OracleCommand = New OracleCommand(sSQL, conn)
cmd.CommandType = CommandType.Text
With cmd
.Parameters.Add(New OracleParameter(":UID", txtUserID.Text))
End With
Try
nCount = cmd.ExecuteScalar()
Catch ex As Exception
End Try
我已经尝试了所有可以在网上找到的变体:Parameters.Add、Add 或 AddWithValue 中是否有冒号,在括号中添加或创建一个新的 OracleParameter 对象然后添加它...似乎没有任何效果。
但如果我只是在查询中硬编码 USER_ID,删除参数。添加,它会返回一个值。
【问题讨论】:
-
您是否尝试在创建 OracleCommand 对象后将其
OracleCommand.BindByName = True? -
嗨 Scotch,VisioStudio 说“'BindByName' 不是 'System.Data.OracleClient.OracleCommand' 的成员”