DataAction / AdoNetCore.AseClient

AdoNetCore.AseClient - a .NET Core DB Provider for SAP ASE
Apache License 2.0
106 stars 44 forks source link

Maxlen(1) less than maxlen(2) when execute procedure with decimal output parameter #220

Open sky196 opened 2 years ago

sky196 commented 2 years ago

Describe the bug Maxlen(1) less than maxlen(2) when execute procedure with decimal output parameter

To Reproduce Please provide C#/SQL necessary to reproduce the issue, and steps to follow:

this is code segment var cmd = connection.CreateCommand(); cmd.CommandType=CommandType.StoredProcedure; cmd.CommandText = "sp_dec_test";

var p = cmd.CreateParameter(); p.ParameterName="@outp"; p.Direction=ParameterDirection.InputOutput; p.Value=1; p.AseDbType=AseDbType.Decimal;

cmd.Parameters.Add(p);

cmd.ExecuteNonQuery();

var outputValue = p.Value;

Expected behavior

Procedure can execute succeed and can get the output value

Environment

Additional context I saw the source code and some code confuse me in FormatItem.cs file Occur error because the decimal output parameter handle special.

sorry my english is very poor

Ju42 commented 9 months ago

Hello I think this issue has been fixed with this PR: https://github.com/DataAction/AdoNetCore.AseClient/pull/175 included in version 0.18.0