To, co powinieneś zrobić, to wywołać ExecuteReader()
na tym cmd
obiekt, jak na przykład:
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);
}
}
}
}
Zakłada się, że SQL zwróci tabelę, której pierwsza kolumna (identyfikowana przez indeks 0
do metody GetInt32()
) będzie identyfikatorem, którego szukasz. Jeśli SQL zwraca identyfikatory w innej kolumnie, po prostu dostosuj indeks do kolumny, w której spodziewasz się ich znaleźć.
To rozwiązanie oczekuje również, że połączenie polecenia będzie już otwarte. Jeśli tak nie jest, możesz wykonać cmd.Connection.Open()
tuż przed cmd.ExecuteReader()
.