在插入数据库之前,在List中插入多个项目

时间:2015-04-14 13:30:42

标签: c# sql-server list ado.net

所以我在数据库中的关系如下:

enter image description here

我们的想法是在将多个产品类别插入数据库之前将其添加到列表中。

我使用的是ADO.NET框架,映射的类产品包含产品类别列表。因此,当用户填写产品类别所需的表单时,我说:

Products p = new Products(... initializing);
ProductCategories p2  = new ProductCategories(...initializing);
p.ProductCategories.Add(p2);

我不了解的是在将这些ProductCategories项目插入数据库之前,如何将更多这些ProductCategories项目添加到此列表中。每当我添加新的,旧的似乎从列表中删除,我不明白为什么?订单应该是这样的:

第一个产品类别项目 第2 第三...

(如果用户停止添加....) - >点击保存按钮 - >将列表中的所有产品类别插入产品类别表...

而不是我只是用刚刚插入的新值覆盖旧产品类别。有人可以帮我解决这个问题吗?

编辑:这是负责将多个项目添加到列表中的完整代码

       if (FileUpload1.PostedFile != null && FileUpload1.PostedFile.ContentLength > 0)
                    {
                        p = new Product();
// p is declared as property outside of all methods...
                        p.ProductName =  txtProductTitle.Text;
                        p.Dimensions = ".";
                        p.PricePerUnit = float.Parse(txtProductPrice.Text);
                        System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
                        MemoryStream mem = new MemoryStream();
                        img.Save(mem, System.Drawing.Imaging.ImageFormat.Jpeg);
                        p.ProductPicture = mem.ToArray();
                        p.ProductPicThumb = mem.ToArray();
                        p.MeasurementUnitID = int.Parse(dropMeasure.SelectedValue);
                        p.PricePerFeet = 1.2F;
                      int pid =  ServiceClass.InsertProduct(p);
        ProductCategories p2  = new ProductCategories(...initializing);
        p.ProductCategories.Add(p2);
                        Response.Write("<script>alert('Product successfully added!');</script>");
                    }
                    else
                    {
                        Response.Write("<script>alert('Something went wrong!');</script>");
                    }

0 个答案:

没有答案