这是我到目前为止所拥有的:
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 已经被声明。关键是,我需要在 proizvodID 列中插入一个 int 项列表,但是我在该列中插入一个值很多次我需要在 narudzbaID 列中插入一个不变的值,我从另一个表中获得最后增加的价值。所有 3 列都是 int,Session 是 List int。使用 asp.net、c#、sql server 2008。