在过去的2个小时里,我试图找出为什么参数无法绑定(嗯,我知道我没有使用“使用”块。 System.Data.OracleClient的是不建议使用),请帮我看看有什么错用下面的代码:VB.NET ORA-01745:无效的主机/绑定变量名称
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结肠,添加或AddWithValue ,添加一个括号或创建一个新的OracleParameter对象,然后添加它...似乎没有任何工作。
但是,如果我只是在查询中硬编码USER_ID,请删除parameter.Add,它会返回一个值。
您是否在创建OracleCommand对象后尝试使用'OracleCommand.BindByName = True'? – Scotch
嗨苏格兰威士忌,VisioStudio说''BindByName'不是'System.Data.OracleClient.OracleCommand'的成员'“ – Cal