vb.net带参数的Oracle插入(ORA-00936:缺少表达式) [英] vb.net Oracle Insert with parameters (ORA-00936: missing expression)
本文介绍了vb.net带参数的Oracle插入(ORA-00936:缺少表达式)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想使用oracle参数将数据插入oracle db.我在sql server中也做同样的事情,并且效果很好.但是使用oracle时,我总是会收到ORA-00936:oCom.ExecuteNonQuery上缺少表达式异常.
i would like to use oracle parameters to insert data into the oracle db. i do the same in with sql server and it works fine. But with oracle i always get the ORA-00936: missing expression exception on the oCom.ExecuteNonQuery.
感谢答案..这是我的vb.net代码.
thanks for answers.. here is my vb.net code.
Using connOMS = New OracleConnection(connectionStringOMS)
Try
connOMS.Open()
Dim cmdstr As String = "INSERT INTO ARCHIVE_FEEDBACK(STATUS) VALUES(@STATUS)"
Using Ocom As OracleCommand = New OracleCommand(cmdstr, connOMS)
Dim p As OracleParameter
p = New OracleParameter()
p.Direction = ParameterDirection.InputOutput
p.OracleDbType = OracleDbType.Varchar2
p.ParameterName = "@STATUS"
p.Value = "A"
Ocom.Parameters.Add(p)
Dim iRet As Integer = Ocom.ExecuteNonQuery
If iRet > 0 Then
Return True
Else
Return False
End If
End Using
Catch ex As ApplicationException
'...
Catch orex As OracleException
'...
Finally
End Try
最终使用
推荐答案
对于Oracle,您需要使用冒号(:
)而不是"at"符号(@
)来表示参数:>
For Oracle, you need to use a colon (:
) rather than the "at" sign (@
) to indicate a parameter:
Dim cmdstr As String = "INSERT INTO ARCHIVE_FEEDBACK(STATUS) VALUES(:STATUS)"
以后……
p.ParameterName = ":STATUS"
这篇关于vb.net带参数的Oracle插入(ORA-00936:缺少表达式)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文