在過去的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