我想知道是否可以读取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"的所有内容。列为字符串数组。
答案 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();