将多行数据从gridview插入数据库 [英] Insert multiple rows data from gridview to database
本文介绍了将多行数据从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屋!
查看全文