Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wypełnij ArrayList z zestawu wyników procedury składowanej

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() .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zamiana alfabetów na zero w dowolnym ciągu w SQL

  2. Jak uzyskać dolne 50% zapytania wybierającego na serwerze SQL?

  3. Przekazywanie wielu wartości dla jednego parametru SQL

  4. SQL Server 2008 - uporządkuj według ciągów z liczbą liczbową

  5. jak zadeklarować zmienną globalną w SQL Server..?