Tôi đang cố chèn một bản ghi cơ sở dữ liệu bên trong một vòng lặp trong C#.ExecuteNonQuery bên trong vòng lặp
Nó hoạt động khi tôi cứng mã các giá trị như thế này:
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
}
}
Nhưng khi tôi sử dụng các truy vấn parameterised nó không hoạt động - thậm chí nếu tôi cứng mã một giá trị vào các truy vấn parameterised như thế này:
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
}
}
Có ai có thể thấy tôi đang đi sai ở đâu không?
Rất cám ơn!
Cảm ơn - Tôi đã gãi đầu của tôi về điều đó đối với TUỔI! Đưa bạn vài giây để tìm ra. Cảm ơn tất cả mọi người. – Dan
@Dan - không sao cả! BTW, tôi khuyên bạn nên cập nhật mã của bạn để sử dụng bố cục thích hợp với câu lệnh 'using' (được đề xuất bởi bài viết của Austin Salonen). –