It should be possible to use the
DataAdapter
DbProviderFactory factory = DbProviderFactories.GetFactory("Your database provider name");
DbDataAdapter da = factory.CreateDataAdapter();
DbCommand cmd = connection.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "data";
DbParameter param1 = cmd.CreateParameter();
param1.DbType = DbType.String;
param1.Direction = ParameterDirection.Input;
param1.ParameterName = "@companyname";
param1.Size = 50;
param1.Value = "Your Company";
cmd.Parameters.Add(param1);
DbParameter param2 = cmd.CreateParameter();
param2.DbType = DbType.Int32;
param2.Direction = ParameterDirection.Input;
param2.ParameterName = "@countryid";
param2.Value = 0;
cmd.Parameters.Add(param2);
DbParameter param3 = cmd.CreateParameter();
param3.DbType = DbType.String;
param3.Direction = ParameterDirection.Input;
param3.ParameterName = "@location";
param3.Size = 50;
param3.Value = "Your location";
cmd.Parameters.Add(param3);
DataSet ds = new DataSet();
da.SelectCommand = cmd;
da.Fill(ds);
DataTable dt1 = ds.Tables[0]
DataTable dt2 = ds.Tables[1]