I want to fetch the output parameter of numeric data type from Oledb in c#. I am connecting to Oledb database and calling one stored procedure. I am getting implicit conversion of numeric field exception while fetching the same.
ItemId = Convert.ToInt32(DbCmd.Parameters["@op_item_id"].Value);
What I have tried:
My code is as below:
OleDbCommand DbCmd = new OleDbCommand("asp_DDA_add", objSybaseDataAccessBase.Connection);
DbCmd.CommandType = CommandType.StoredProcedure;
DbCmd.CommandTimeout = 600;
DbCmd.Parameters.Add(objSybaseDataAccessBase.SetParameter("@ip_acct_no", Accountno, ParameterDirection.Input, 100, OleDbType.VarChar));
DbCmd.Parameters.Add(objSybaseDataAccessBase.SetParameter("@ip_expiry_dt_block", BlockExpiryDate, ParameterDirection.Input, 1000, OleDbType.DBTimeStamp));
DbCmd.Parameters.Add(objSybaseDataAccessBase.SetParameter("@ip_user_name", Sybase_User, ParameterDirection.Input, 1000, OleDbType.VarChar));
DbCmd.Parameters.Add(objSybaseDataAccessBase.SetParameter("@op_error_code", strErrorCode, ParameterDirection.Output, 1000, OleDbType.Integer));
DbCmd.Parameters.Add(objSybaseDataAccessBase.SetParameter("@op_error_msg", strErrorMsg, ParameterDirection.Output, 1000, OleDbType.VarChar));
DbCmd.Parameters.Add(objSybaseDataAccessBase.SetParameter("@op_item_id", ItemId, ParameterDirection.Output, 1000, OleDbType.Numeric));
DbCmd.ExecuteNonQuery();
ItemId = Convert.ToInt32(DbCmd.Parameters["@op_item_id"].Value);