从SQL表中读取整个字符串列作为字符串数组。

时间:2014-08-08 21:32:04

标签: c# sql sql-server

我想知道是否可以读取SQL表字符串列,并将其指定为字符串数组。如果是,是否有任何程序如何做到这一点?我有以下代码:

 using (SqlCommand cm = new SqlCommand("SELECT Varenr, Navn, Stkpris FROM KreditNotaTable WHERE Varenr = @varenr", con))
                {
                    cm.Parameters.Clear();
                    cm.Parameters.AddWithValue("@varenr", varenr);

                    using (SqlDataReader reader = cm.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            string navn = reader["Navn"].ToString();
                        }
                    }
                }

但是此示例仅返回特定行的字符串。我想要来自" Navn"的所有内容。列为字符串数组。

1 个答案:

答案 0 :(得分:2)

如果要将一行/列拆分为string[],请使用String.Split并使用正确的分隔符:

string[] navn = ((string)reader["Navn"])
                .Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

在这种情况下,我在Windows上使用Environment.NewLine这是一个换行符(\r\n)。

如果您希望所有行/ 1列都放入string[],请尝试此操作。您不能立即使用string[],因为您没有行数。

List<string> s = new List<string>();
while (reader.Read())
{
    s.Add((string)reader["Navn"]);
}

string[] arr = s.ToArray();