Skip to content

Commit 73e1d30

Browse files
committed
Set return parameter Size & DbType
1 parent 5cc383b commit 73e1d30

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

Simple.Data.Ado/ProcedureExecutor.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,16 @@ private static IEnumerable<ResultSet> ExecuteNonQuery(IDbCommand command)
9797

9898
private static void SetParameters(Procedure procedure, IDbCommand cmd, IDictionary<string, object> suppliedParameters)
9999
{
100-
if (procedure.Parameters.Any(p => p.Direction == ParameterDirection.ReturnValue))
101-
AddReturnParameter(cmd);
100+
var returnParameter = procedure.Parameters.FirstOrDefault(p => p.Direction == ParameterDirection.ReturnValue);
101+
if (returnParameter!=null)
102+
{
103+
var cmdParameter = cmd.CreateParameter();
104+
cmdParameter.ParameterName = SimpleReturnParameterName;
105+
cmdParameter.Size = returnParameter.Size;
106+
cmdParameter.Direction = ParameterDirection.ReturnValue;
107+
cmdParameter.DbType = returnParameter.Dbtype;
108+
cmd.Parameters.Add(cmdParameter);
109+
}
102110

103111
int i = 0;
104112

@@ -131,13 +139,5 @@ private static void SetParameters(Procedure procedure, IDbCommand cmd, IDictiona
131139
}
132140
}
133141

134-
private static void AddReturnParameter(IDbCommand cmd)
135-
{
136-
var returnParameter = cmd.CreateParameter();
137-
returnParameter.ParameterName = SimpleReturnParameterName;
138-
returnParameter.Direction = ParameterDirection.ReturnValue;
139-
cmd.Parameters.Add(returnParameter);
140-
}
141-
142142
}
143143
}

0 commit comments

Comments
 (0)