我試圖在C#中的循環內插入數據庫記錄。循環內的ExecuteNonQuery
它工作時,我很難這樣的代碼值:
string query3 = "INSERT INTO furniture (room_id,member_id) VALUES (222,333);";
SqlCommand cmd3 = new SqlCommand(query3, sqlConnection3);
sqlConnection3.Open();
for (int i = 0; i < arrItemsPlanner.Length; i++)
{
try
{
cmd3.ExecuteNonQuery();
}
catch
{
return "Error: Item could not be saved";
}
finally
{
//Fail
}
}
但是當我使用參數化查詢,這是行不通的 - 即使我硬編碼的值到這樣的參數化查詢:
string query3 = "INSERT INTO furniture (room_id,member_id) VALUES (@room_id,333);";
SqlCommand cmd3 = new SqlCommand(query3, sqlConnection3);
sqlConnection3.Open();
for (int i = 0; i < arrItemsPlanner.Length; i++)
{
try
{
cmd3.Parameters.Add("@room_id", System.Data.SqlDbType.Int);
cmd3.Parameters["@room_id"].Value = 222;
cmd3.ExecuteNonQuery();
}
catch
{
return "Error: Item could not be saved";
}
finally
{
//Fail
}
}
任何人都可以看到我要去哪裏錯了嗎?
非常感謝!
謝謝 - 我一直在爲AGES撓撓我的腦袋!需要幾秒鐘才能弄清楚。非常感謝大家。 – Dan 2012-01-05 17:59:37
@丹 - 沒問題!順便說一句,我會建議更新你的代碼,以使用正確的處置與「使用」聲明(如奧斯汀沙龍的帖子所建議的)。 – 2012-01-06 04:31:48