将多行数据从gridview插入数据库 [英] Insert multiple rows data from gridview to database

查看:108
本文介绍了将多行数据从gridview插入数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,先生,
我想为此使用xml表从gridview向数据库插入多行数据,请在我的代码中帮帮我

Hello Sir,
I want to insert multiple rows data from gridview to database for this I m using xml table please help me in my code

protected void btnSaved_Click(object sender, EventArgs e)
    {
        try
        {
            string strXml = String.Empty;
            DelayworkReport Dwr = new DelayworkReport();
            //DataTable _dtFinalCh = new DataTable();
            DataTable _dtFinal = new DataTable();
            acceptchangesonVirtualtableBeforeInsert();
            _dtFinal = (DataTable)ViewState["dt"];
           // DataTable _dtfinaldata = _dtFinal.AsEnumerable().Distinct().CopyToDataTable();
            if (_dtFinal != null && _dtFinal.Rows.Count > 0)
            {
                DataSet ds = new DataSet();
                ds.DataSetName = "DWR";
                ds.Tables.Add(_dtFinal);
                ds.Tables[0].TableName = "Insertxml";
                strXml = ds.GetXml();
            }
           
            grdNewDaily.DataSource = dt;
            grdNewDaily.DataBind();
        }
        catch { }

    }





private void acceptchangesonVirtualtableBeforeInsert()
    {
        try
        {
            DataTable dt = new DataTable();
            dt = (DataTable)ViewState["dtfinal"];
            int count = 0;
            foreach (GridViewRow gr in grdDaily.Rows)
            {
                //string bindProjectCost = gr.Cells[4].Text;

                TextBox txtStartTime = (TextBox)gr.FindControl("txtStartTime");
                TextBox txtEndTime = (TextBox)gr.FindControl("txtEndTime");
                DropDownList ddlProject = (DropDownList)gr.FindControl("ddlProject");
                DropDownList ddlModule = (DropDownList)gr.FindControl("ddlModule");
                DropDownList ddlForm = (DropDownList)gr.FindControl("ddlForm");
                TextBox txtWorkType = (TextBox)gr.FindControl("txtWorkType");
                DropDownList ddlStatus = (DropDownList)gr.FindControl("ddlStatus");
                TextBox txtRemarks = (TextBox)gr.FindControl("txtRemarks");

                dt.Rows[count]["StartTime"] = Convert.ToString(txtStartTime.Text);
                dt.Rows[count]["EndTime"] = Convert.ToString(txtEndTime.Text);
                dt.Rows[count]["ProjectName"] = Convert.ToInt32(ddlProject.SelectedItem.Text);
                dt.Rows[count]["ModuleName"] = Convert.ToInt32(ddlModule.SelectedItem.Text);
                dt.Rows[count]["EntityName"] = Convert.ToInt32(ddlForm.SelectedItem.Text);
                dt.Rows[count]["WorkType"] = Convert.ToString(txtWorkType.Text);
                dt.Rows[count]["Status"] = Convert.ToInt32(ddlStatus.SelectedItem.Text);
                dt.Rows[count]["Remarks"] = Convert.ToString(txtRemarks.Text);
                //dt.Rows[count]["ProposedCost"] = Math.Round((Convert.ToDecimal(bindProjectCost) + Convert.ToDecimal(txtProjData.Text) + Convert.ToDecimal(txtBuildingVyay.Text)), 2).ToString();
                
               
                count++;
            }
            
            ViewState["dtfinal"] = dt;
        }
        catch { }




[edit]仅主题:请用我的代码帮助我"无济于事,请尝试使用可以使我们对您的问题有个好主意的主题.这样,我们就不会浪费时间寻找是否能帮上忙! -OriginalGriff [/edit]




[edit]Subject only: "Please help me in my code" is not helpful, try to use a subject which gives us a good idea about your problem. That way we do not waste time looking if we can''t help! - OriginalGriff[/edit]

推荐答案

您没有说明哪个数据库,但是对于Oracle,您可以使用:

You didn''t state which database, but for Oracle you can use:

cmdInsert = "INSERT ALL " & _ 
            "INTO TABLE (T_ID,T_ID2,etc) VALUES (val1,val2,val3,etc) " & _
            "INTO TABLE (T_ID,T_ID2,etc) VALUES (val4,val5,val6,etc) " & _
            etc...
            "SELECT * FROM DUAL"


这篇关于将多行数据从gridview插入数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆