执行SqlCommand语句并在标签中显示结果

时间:2013-07-31 13:10:01

标签: c# winforms sqlcommand

我正在执行此存储过程,我想更改它,而不是只返回所有结果然后处理它们。我想返回并将存储过程的第三列中的信息显示在我的winforms应用程序上的label.text中。我怎么能这样做呢。

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。

2 个答案:

答案 0 :(得分: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());

或者你想要显示它

答案 1 :(得分:0)

它将类似于reader.GetDecimal(columnIndex)