これは私がこれまでに持っているものです:
Veza.Open();
SqlCommand zadnjaN = new SqlCommand("SELECT TOP 1 id_n FROM Narudzba ORDER BY id_n DESC", Veza);
var id_zn = zadnjaN.ExecuteScalar(); //get 1 value for id_zn (last one entered)
List<int> proizvodi = new List<int>();
proizvodi = (List<int>)Session["kosarica"];
SqlCommand kupnja1 = new SqlCommand("INSERT INTO NarudzbaItemi ([narudzbaID], [proizvodID]) VALUES (@id_zn, @pro)", Veza);
for (int i = 0; i < proizvodi.Count; i++)
{
kupnja1.Parameters.AddWithValue("pro", proizvodi[i]); //also tried @pro
kupnja1.Parameters.AddWithValue("id_zn", id_zn); //@id_zn
kupnja1.ExecuteNonQuery();
}
Veza.Close();
変数名 @pro がすでに宣言されているというメッセージが表示されます。ポイントは、int 項目のリストを proizvodID 列に挿入する必要があることですが、その列に何度も値を挿入する必要があるため、別のテーブルから取得した narudzbaID 列に何度も変更されない値を挿入する必要があります。最後に追加された値。3 つの列はすべて int で、Session は List int です。asp.net、c#、sql server 2008 を使用。