Skip to Main Content

ODP.NET

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Convert OracleDbType.Decimal to C# decimal

456311Aug 20 2009 — edited Aug 21 2009
Hi all,
Iam calling ORACLE function and I have a problem with converting OracleDbType.Decimal to System.Decimal. I have the following code:

...(class)
public decimal speed;
OracleCommand cmd = new OracleCommand("GETNORM", dataCa.connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("return", OracleDbType.Int32).Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add("CODE", OracleDbType.Decimal).Value = idSubject;
cmd.Parameters.Add("OUTSPEED", OracleDbType.Decimal).Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();

this.speed = (Decimal)cmd.Parameters.Value;
...

The last line causes runtime error: Specified type-cast is invalid (I'm translating from Czech language). In VS2008 debug I see, that "cmd.Parameters.Value" has value (OUTSPEEDVALUE = 62).
My question is: How can I assign value from an Oracle parameter to .NET (C#) variable.
I'm unhappy 2 days.
Thanks
Martin
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 18 2009
Added on Aug 20 2009
4 comments
5,515 views