Vad du bör göra är att anropa ExecuteReader()
på den cmd
objekt, som så:
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);
}
}
}
}
Detta förutsätter att SQL returnerar en tabell vars första kolumn (identifierad av indexet 0
till metoden GetInt32()
) kommer att vara det ID du letar efter. Om SQL returnerar ID:n i en annan kolumn, justera bara indexet till den kolumn du förväntar dig att hitta dem i.
Denna lösning förväntar sig också att kommandots anslutning redan är öppen. Om det inte är det kan du göra cmd.Connection.Open()
strax före cmd.ExecuteReader()
.