Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Попълване на ArrayList от набор от резултати на съхранена процедура

Това, което трябва да направите, е да извикате ExecuteReader() на този cmd обект, така:

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);
            }
        }
    }
}

Това предполага, че SQL ще върне таблица, чиято първа колона (идентифицирана от индекса 0 към метода GetInt32() ) ще бъде ID, който търсите. Ако SQL връща идентификаторите в друга колона, просто коригирайте индекса към колоната, в която очаквате да ги намерите.

Това решение също очаква връзката на командата вече да е отворена. Ако не е, можете да направите cmd.Connection.Open() точно преди 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. Демистификация на CXPACKET и CXCONSUMER типовете чакане в SQL Server

  2. Как да добавя колона с пореден номер към данните за резултатите?

  3. Отстраняване на проблеми с I/O тесните места на диска

  4. Link To Sql и identity_insert

  5. Защо подзаявката вътре в рекурсивната конкатенация на низове винаги връща NULL?