1

我正在执行这个存储过程,我想改变它,而不是只返回所有结果然后处理它们。我想将存储过程的第三列中的信息返回并显示到我的 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。

4

2 回答 2

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

或者你想显示它

于 2013-07-31T13:15:06.033 回答
0

它将类似于 reader.GetDecimal(columnIndex)

于 2013-07-31T13:15:54.913 回答