Det du skal gøre er at kalde ExecuteReader()
på den cmd
objekt, som sådan:
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);
}
}
}
}
Dette forudsætter, at SQL returnerer en tabel, hvis første kolonne (identificeret ved indekset 0
til metoden GetInt32()
) vil være det ID, du leder efter. Hvis SQL returnerer id'erne i en anden kolonne, skal du bare justere indekset til den kolonne, du forventer at finde dem i.
Denne løsning forventer også, at kommandoens forbindelse allerede er åben. Hvis det ikke er det, kan du gøre cmd.Connection.Open()
lige før cmd.ExecuteReader()
.