如何插入数据库多个GridView选择


  siparisDetayy order = new siparisDetayy();
    public void gridControl()
    {       
        for (int i = 0; i < dtGridSiparis.RowCount-1; i++)
            {
            order.productID =(dtGridSiparis.Rows[i].Cells[0].Value).ToString();
            order.productName = dtGridSiparis.Rows[i].Cells[1].Value.ToString();
            order.customer = dtGridSiparis.Rows[i].Cells[2].Value.ToString();
            order.faturaNo = dtGridSiparis.Rows[i].Cells[3].Value.ToString();
            order.miktar = dtGridSiparis.Rows[i].Cells[4].Value.ToString();
            order.price = dtGridSiparis.Rows[i].Cells[5].Value.ToString();
            }
            ctx.siparisDetayys.InsertOnSubmit(order);
            ctx.SubmitChanges();
    }

我尝试使用LINQ插入我的数据数据,即使我为循环进行了,但仍然只添加一行。

拉胡尔所说的话,但也添加了第一行" siparisdetayy order = new siparisdetayy();"在循环内。您必须为每一行创建一个新实体。

是的,这是因为您实际上仅插入一个order记录,并希望您从Loop Last Iteeration收集的最后一个记录。如下

,将节省的节省移至循环中的DB代码线
    for (int i = 0; i < dtGridSiparis.RowCount-1; i++)
        {
        order.productID =(dtGridSiparis.Rows[i].Cells[0].Value).ToString();
        order.productName = dtGridSiparis.Rows[i].Cells[1].Value.ToString();
        order.customer = dtGridSiparis.Rows[i].Cells[2].Value.ToString();
        order.faturaNo = dtGridSiparis.Rows[i].Cells[3].Value.ToString();
        order.miktar = dtGridSiparis.Rows[i].Cells[4].Value.ToString();
        order.price = dtGridSiparis.Rows[i].Cells[5].Value.ToString();
        //Save or Insert the record to database
        ctx.siparisDetayys.InsertOnSubmit(order);
        ctx.SubmitChanges();
        }

最新更新