Skip to content

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

Open
@sky196

Description

@sky196

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions