【问题标题】:vb.net Oracle Insert with parameters (ORA-00936: missing expression)vb.net Oracle 插入带参数(ORA-00936:缺少表达式)
【发布时间】:2013-05-03 14:23:26
【问题描述】:

我想使用 oracle 参数将数据插入到 oracle 数据库中。我在 sql server 上做同样的事情,它工作正常。但是对于 oracle,我总是在 oCom.ExecuteNonQuery 上得到 ORA-00936: missing expression exception。

感谢您的回答。这是我的 vb.net 代码。

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

结束使用

【问题讨论】:

    标签: vb.net oracle


    【解决方案1】:

    对于 Oracle,您需要使用冒号 (:) 而不是“at”符号 (@) 来表示参数:

    Dim cmdstr As String = "INSERT INTO ARCHIVE_FEEDBACK(STATUS) VALUES(:STATUS)"
    

    以后……

    p.ParameterName = ":STATUS"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多