sql >> Databáze >  >> RDS >> Sqlserver

Naplnit ArrayList ze sady výsledků uložené procedury

Co byste měli udělat, je vyvolat ExecuteReader() na tomto cmd objekt, třeba takto:

public static IEnumerable<int> GetAllVendors()
{
    using (var cmd = Data.GetCommand(Configuration.DatabaseOwnerPrefix + ".GetAllInformationAndHelpVendorIds", Connections.MyDbConnection))
    {
        using (var reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                yield return reader.GetInt32(0);
            }
        }
    }
}

To předpokládá, že SQL vrátí tabulku, jejíž první sloupec (identifikován indexem 0 na metodu GetInt32() ) bude ID, které hledáte. Pokud SQL vrátí ID v jiném sloupci, upravte index na sloupec, ve kterém je očekáváte.

Toto řešení také očekává, že připojení příkazu již bude otevřené. Pokud tomu tak není, můžete provést cmd.Connection.Open() těsně před cmd.ExecuteReader() .



  1. Jak nainstalovat SQL Server na Ubuntu 18.04

  2. drahý dotaz vyřazuje databázový server – hledá způsoby, jak to zmírnit

  3. Kombinujte pole z různých řádků za podmínky

  4. Jak opravit „Neplatný název objektu ‚OPENJSON‘.“ v SQL Server