Hi everyone.
I'm developing .cs code to get data from a Stored Procedure and store it to a List but i'm having trouble getting all datasets to the List.
The SP:
ALTER PROCEDURE [_testSchm].[_test_sp]
@paramINint int,
@paramINnvarchar nvarchar(max),
@paramOUTint int OUTPUT,
@paramOUTnvarchar nvarchar(max) OUTPUT
AS
set @paramOUTint = @paramINint * 33
set @paramOUTnvarchar = REVERSE(@paramINnvarchar)
select 666 as ResultSet1
select 999 as ResultSet1
return 401
The class i defined to fill the list in the .cs code:
public class readerSQL
{
public int paramOUTint { get; set; } //esto es de prueba y si, se devuelve a cliente con el valor null porque el SP no lo rellena a su llamada
public string paramOUTnvarchar { get; set; }
public string JSON { get; set; }
public int ResultSet1 { get; set; }
public int ReturnValue { get; set; }
}
The .cs code:
var paramINint = 3;
var paramINnvarchar = "carlos";
var paramOUTint = 0;
var paramOUTnvarchar = "";
object[] testJSONParameters = new object[] { paramINint, paramINnvarchar, paramOUTint, paramOUTnvarchar };
IDataReader petaReaderTest = PetaPocoHelper.ExecuteReader(
DataProvider.Instance().ConnectionString,
CommandType.StoredProcedure,
"_testSchm._test_sp",
testJSONParameters
);
var ReturnJSON = CBO.FillCollection<readerSQL>(petaReaderTest);
The SP:
ALTER PROCEDURE [_testSchm].[_test_sp]
@paramINint int,
@paramINnvarchar nvarchar(max),
@paramOUTint int OUTPUT,
@paramOUTnvarchar nvarchar(max) OUTPUT
AS
set @paramOUTint = @paramINint * 33
set @paramOUTnvarchar = REVERSE(@paramINnvarchar)
select 666 as ResultSet1
select 999 as ResultSet1
return 401
ReturnJSON returns only this:
<ArrayOfreaderSQL>
<readerSQL>
<JSON i:nil="true"/>
<ResultSet1>666</ResultSet1>
<ReturnValue>0</ReturnValue>
<paramOUTint>0</paramOUTint>
<paramOUTnvarchar i:nil="true"/>
</readerSQL>
</ArrayOfreaderSQL>
What it should return (call at SQL management studio):
ColName : ResultSet
Value : 666
ColName : ResultSet
Value : 999
ColName : @paramOUTint ||| @paramOUTnvarchar
Value : 99 ||| solrac
ColName : Return Value
Value : 401