Ce que vous devez faire est d'invoquer ExecuteReader()
sur ce cmd
objet, comme ceci :
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);
}
}
}
}
Cela suppose que le SQL retourne une table dont la première colonne (identifiée par l'indice 0
à la méthode GetInt32()
) sera l'ID que vous recherchez. Si le SQL renvoie les ID dans une autre colonne, ajustez simplement l'index à la colonne dans laquelle vous vous attendez à les trouver.
Cette solution s'attend également à ce que la connexion de la commande soit déjà ouverte. Si ce n'est pas le cas, vous pouvez faire cmd.Connection.Open()
juste avant cmd.ExecuteReader()
.