2012-05-26 68 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

什麼是你的表結構,你試圖添加在它裏面。因爲@變量沒有在數組中聲明..請把你的表查詢也。 –