2012-05-26 32 views
0

插入我创建了一些变量,我想将它们插入到数据库中,我使用了一个for循环中插入阵列的一些价值观,但我得到了这个错误错误在SQL

附近有语法错误为nvarchar”。
必须声明标量变量“@ finalwords”。

这是我的代码

string []finalwords=new string[13000]; 

for (int h=0;h<wordsbeforesoundex.Length;h++) 
{ 
    if (wordsbeforesoundex[h] == "") 
     continue; 

    finalwords[indexer] = wordsbeforesoundex[h]; 
    indexer++; 
} 

for (int l = 0; l < words.Length; l++) 
{ 
    con.Open(); 

    SqlCommand cmd = new SqlCommand("INSERT INTO TableFFF (Data) VALUES (@finalwords[l])", con); 

    cmd.Parameters.Add(new SqlParameter("@finalwords[l]", finalwords[l])); 

    cmd.ExecuteNonQuery(); 
} 
+1

你确定SQL支持索引运算符参数('@ finalwords [l]')?我只会使用'@ finalwords'作为参数名称。 –

+1

如果您发布代码,XML或数据样本,请**在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮(“{}”)以精确地设置格式并对其进行语法突出显示! –

回答

4

而改变它像

SqlCommand cmd = 
new SqlCommand("INSERT INTO TableFFF (Data) VALUES (@finalwords_idx)", con); 

cmd.Parameters.Add(new SqlParameter("@finalwords_idx", finalwords[l])); 
-1

您插入查询是不妥当的,更改查询

"INSERT INTO TableFFF (Data) VALUES (@finalwords["+l+"])" 
+0

我试过这个,但我得到了同样的错误 –

+0

什么是你的表结构,你试图添加在它里面。因为@变量没有在数组中声明..请把你的表查询也。 –