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