Microsoft.NET and Oracle Data Access: Converting from OracleDecimal to String is Invalid

I have the following ASP.NET program that calls an Oracle stored procedure:

Dim objDBCon As New OracleConnection(strCon)
Try
    objDBCon.Open()
        Dim objDBCmd As New OracleCommand("Person.DeletePerson", objDBCon)
        objDBCmd.CommandType = CommandType.StoredProcedure

        Dim objParam As New OracleParameter
        objParam.ParameterName = "PersonID"
        objParam.OracleDbType = OracleDbType.Varchar2
        objParam.Direction = ParameterDirection.Input
        objParam.Value = PersonID
        objDBCmd.Parameters.Add(objParam)

        objParam = New OracleParameter
        objParam.ParameterName = "nReturn"
        objParam.OracleDbType = OracleDbType.Int64
        objParam.Direction = ParameterDirection.Output
        objDBCmd.Parameters.Add(objParam)

        objDBCmd.CommandTimeout = 30
        objDBCmd.ExecuteNonQuery()
        strResponse = objDBCmd.Parameters("nReturn").Value
Catch ex As Exception


Finally

'Cleanup code here

End Try

. : strResponse = objDBCmd.Parameters( "nReturn" ). . : " OracleDecimal String . strResponse " Decimal ", :" OracleDecimal String ". : Windows 7,.NET Framework 3.5, Visual Studio 2008, Oracle.DataAccess 10.2.0.100 2.112.1.0. . ?

Update , , - 64-

0
1

:

objParam.OracleDbType = OracleDbType.Int64

Try:

objParam.DbType = System.Data.DbType.Int64

, :

strResponse = objDBCmd.Parameters("nReturn").Value

To:

strResponse = objDBCmd.Parameters("nReturn").Value.ToString()

:

strResponse = objDBCmd.Parameters("nReturn").ToString()
0

All Articles