I am calling a stored procedure which executes a simple select statement to a table based on a where clause. Using the IBM DB2 UDB provider, iDB2Connection, iDB2Command and iDB2DataAdapter class, I execute the stored procedure and use the iDB2DataAdapter.fill method to populate the Dataset. If no rows are returned, the fill method does not create a Table. Is there any way that I can make the fill method to create a Table with zero (0) rows.

Here's the SP:
CREATE PROCEDURE ReturnData
(IN P1 DECIMAL (7,0))
DYNAMIC RESULT SETS 2
LANGUAGE SQL
P1: BEGIN
DECLARE C1 CURSOR WITH RETURN FOR
SELECT * FROM TABLE1
WHERE TableField = P1;
DECLARE C2 CURSOR WITH RETURN FOR
SELECT * FROM TABLE2
WHERE TableField = P1;
OPEN C1;
OPEN C2;

Here's the C# code:
iDB2Command cmd = new iDB2Command("Call ReturnData (@p1), _iDB2connection);
cmd.DeriveParameters();
cmd.Parameters["@p1"].Value = Convert.ToDecimal("1234");

iDB2DataAdapter ida = new iDB2DataAdapter(cmd);
ds = new DataSet();
ida.Fill(ds, "ReturnData()", " "));

If one of the cursors or both do not have any rows returned, I still want the process to return 2 Tables in the ida (Adapter).

Help will be appreciated.