我想插入一些var dict = new Dictionary<string, int>();
类型的值。我有4个循环,我想在 var dict 的变量旁边插入另一个值
这是我的代码
var dict = new Dictionary<string, int>();
foreach (string word in wordsbeforesoundex)
{
if (word == null)
{
continue;
}
if (word.Trim() != "")
{
if (dict.ContainsKey(word))
{
dict[word]++;
}
else
{
dict[word] = 1;
}
}
}
for (int l = 0; l < words.Length; l++)
{
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO TableFFF (Frequency) VALUES (@dict_idx)", con);
cmd.Parameters.Add(new SqlParameter("@dict_idx", dict[wordsbeforesoundex[l]]));
cmd.ExecuteNonQuery();
con.Close();
}
我的问题是如何获取字典中的数据并将其插入数据库
答案 0 :(得分:0)
您需要有两列,一列用于词典键(word),另一列用于词典值(频率)
foreach(var pair in dict)
{
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO TableFFF (Word, Frequency) VALUES (@word, @freq)", con);
cmd.Parameters.Add(new SqlParameter("@word", pair.Key);
cmd.Parameters.Add(new SqlParameter("@freq", pair.Value);
cmd.ExecuteNonQuery();
con.Close();
}
答案 1 :(得分:-1)
你必须使用for循环而不是foreach ..传递你需要循环的正确值,并将pair.key改为配对[for loop index] .key
using (SqlCommand cmd = new SqlCommand("INSERT INTO TableFFF (Word, Frequency) VALUES (@word, @freq)", con))
{
con.Open();
for (int i = 0; i < dict.Count; i++)
{
cmd.Parameters.Add(new SqlParameter("@word", pair[i].Key);
cmd.Parameters.Add(new SqlParameter("@freq", pair[i].Value);
cmd.ExecuteNonQuery();
}
}
使用,连接将在自动完成后处理