invoke_with_resultset Method not working with result sets

Hi there,

We are using the add_method_info and invoke_with_resultset methods in replacement of query and exec ones but we are experiencing a consistent but unexpected behavior:

If we call a stored procedure that makes a query, it always returns null even when the stored procedure returned several rows but it worked OK, no exception is thrown and the call ref int result is equal to 1, as expected.

So everything worked fine, but the return string value is null and we cannot retrieve any result.  The behavior change if return a single string value.  In that case, we get an error, the ref int result is equal to -1 and return string is equal to  "<records></records>";

So, the behavior is as follows:

  • If the SP returns a result set, we get 1, no error, and null.
  • If the SP returns a single string value, we get -1, a "cannot convert 'seba' to int error message and "<records></records>";
  • If the SP returns an int, we get 1, no error, and null.

We made another test and if we call a stored procedure that makes an insert in a test table, the insert is executed perfectly. The row is inserted correctly in the test table.

But if we add a select statement or we just return 'seba' or 0 at the end of the same stored procedure , the behavior repeats: The insert part iworks like a charm but it's impossible for us to retrieve any data.

Of course if we call the stored procedure directly in the database it returns all the rows, or the string value or the int value as expected.

We made many tests, we tried all the overloads and the behavior is always the same.

Hope you can helps us, kind regards,

Sebastian.