2013-07-31 2 views
1

Я выполняю эту хранимую процедуру, и я хочу ее изменить, вместо того чтобы просто возвращать все результаты и затем обрабатывать их. Я хочу вернуться и отобразить информацию в третьем столбце из хранимой процедуры в label.text в моем приложении winforms. Как я могу это сделать.Выполнение инструкции SqlCommand и отображение результата в метке

public IEnumerable GetGuids(int id) 
{ 
    using (SqlCommand _command = new SqlCommand("StoredProc")) 
    { 
     _command.Connection = new SqlConnection(conString); 
     _command.Connection.Open(); 
     _command.CommandType = CommandType.StoredProcedure; 
     _command.Parameters.AddWithValue("@ItemID", id); 

     return _command.ExecuteReader(); 
    } 
} 

Я хочу, чтобы отобразить элементы, которые будут возвращены в 3-й колонке из хранимой процедуры следующим образом: itemRow1/itemRow2.

ответ

1
public IEnumerable GetGuids(int id) 
{  
    List<string> items = new List<string>();   
    using (SqlCommand _command = new SqlCommand("StoredProc")) 
    { 
     _command.Connection = new SqlConnection(conString); 
     _command.Connection.Open(); 
     _command.CommandType = CommandType.StoredProcedure; 
     _command.Parameters.AddWithValue("@ItemID", id); 

     using (var reader = _command.ExecuteReader()) 
     { 
     while (reader.Read()) 
     { 
      items.Add(reader[2].ToString()); 
     } 
     }   
    } 
    return items; 
} 

должен сделать это за вас. Тогда там, где метка, что-то вроде

label.Text = String.Join(",", items.ToArray()); 

или же вы хотите, чтобы отобразить его

+0

должен там быть() в конце ' Список ... 'также я получаю сообщение об ошибке, не могу преобразовать из' object' в 'string' для' items.Add (reader [2]) ' – Masriyah

+0

см. Мои изменения. – Jonesopolis

+0

работал отлично - спасибо! – Masriyah

0

Это будет что-то вроде reader.GetDecimal (ColumnIndex)

Смежные вопросы