AdoNetCore.AseClient icon indicating copy to clipboard operation
AdoNetCore.AseClient copied to clipboard

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

Open sky196 opened this issue 3 years ago • 1 comments

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

  • .NET Framework/Core version (e.g. Core 2.1)
  • AdoNetCore.AseClient nuget package version (e.g. 0.13.1)

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

sky196 avatar Dec 24 '21 03:12 sky196

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

Ju42 avatar Nov 27 '23 15:11 Ju42