SELECT 如何在 Table 上添加多个标签并将其保存在列表<string> 中

How SELECT many tags on a Table and save it on a List<string>

我想知道如何获取我 table 上的所有标签并将其保存在列表中。

string query = "SELECT JobNumber + JobName + JobTag FROM dbo.Cat05Projects WHERE JobNumber = @JobNumber AND JobTag = @JobTag";
SqlCommand command = new SqlCommand(query, cn);
command.Parameters.AddWithValue("JobNumber", JobNumber);
command.Parameters.AddWithValue("JobTag", JobTag);

SqlDataReader reader = command.ExecuteReader();

if (reader.HasRows)
{
     while (reader.Read())
     {
         tags.Add(reader[0].ToString());
         tags.Add(reader[1].ToString());
         tags.Add(reader[2].ToString());

     }
 }

由于您的串联 (JobNumber + JobName + JobTag) 无法使用 reader[X].ToString() 因为将只返回一个字符串。为了正确获取记录,您必须使用 comma 而不是 plus,如下所示。

string query = "SELECT JobNumber , JobName , JobTag FROM dbo.Cat05Projects WHERE JobNumber = @JobNumber AND JobTag = @JobTag";

你没有提到任何关于 tags 数据结构的事情,但如果我没记错的话,在得到正确的回应后,如果你只是想获取 JobTag 您可以使用 LINQ 筛选最终列表。

这就是我想要的

query = "SELECT * FROM dbo.Cat05Projects WHERE JobNumber = @JobNumber AND JobTag = @JobTag";
                command = new SqlCommand(query, cn);
                command.Parameters.AddWithValue("JobNumber", JobNumber);
                command.Parameters.AddWithValue("JobTag", JobTag);

                SqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    for (int i = 1; i < reader.FieldCount; i++)
                    {
                        lista.Add(reader[i].ToString());
                    }
                }