如何使用datagrid简单地修改数据库中的数据 [英] How to modify data in database simply with datagrid
问题描述
你好,
我想知道如何修改datagrid中的数据并自动保存在数据库中,
plzz帮助我,
Hello,
I want to know how to modify data in datagrid and it save automatically in database,
plzz help me,
推荐答案
DataSet ds;
OleDbDataAdapter dataAdapter;
void ReadData()
{
this.ds = new DataSet();
string connString = "CONNICTION STRING GOES HERE";
this.dataAdapter = new OleDbDataAdapter("QUERY GOES HERE", connString);
this.dataAdapter.Fill(this.ds, "TABLE1");
this.ds.AcceptChanges();
//set the table as the datasource for the grid in order to show that data in the grid
this.dataGridView1.DataSource = ds.DefaultViewManager;
}
void SaveData()
{
DataSet changes = this.ds.GetChanges();
if (changes != null)
{
//Data has changes.
//use update method in the adapter. it should update your datasource
int updatedRows = this.dataAdapter.Update(changes);
this.ds.AcceptChanges();
}
}
以下是该示例代码
ASPX:
Here is the example code for that
ASPX:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating">
<Columns>
<asp:TemplateField HeaderText="EmpNO">
<ItemTemplate>
<%#Eval("Eno") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtEno" runat="server" Text='<%#Eval("Eno") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtIEno" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="EName">
<ItemTemplate>
<%#Eval("Ename") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtEname" runat="server" Text='<%#Eval("Ename") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtIEname" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Salary">
<ItemTemplate>
<%#Eval("salary") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtloc" runat="server" Text='<%#Eval("salary") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtIloc" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<FooterTemplate>
<asp:Button ID="btnSave" OnCommand="insert" Text="save" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="true" />
<asp:CommandField ShowDeleteButton="true" />
</Columns>
</asp:GridView>
.CS代码:
protected void Page_Load(object sender,EventArgs e)
{
con = new SqlConnection(你的连接字符串);
if(!IsPostBack)
{
getdata();
}
}
SqlConnection con;
SqlCommand cmd;
private void getdata()
{
SqlDataAdapter da = new SqlDataAdapter(select * from empdet,con);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds.Tables [0];
GridView1.DataBind();
}
protected void GridView1_RowEditing(object sender,GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
getdata();
}
protected void GridView1_Ro wUpdating(对象发送者,GridViewUpdateEventArgs e)
{
TextBox t1,t2,t3;
t1 =(TextBox)GridView1.Rows [e .RowIndex] .FindControl(txtEno);
t2 =(TextBox)GridView1.Rows [e.RowIndex] .FindControl(txtEname);
t3 = (TextBox)GridView1.Rows [e.RowIndex] .FindControl(txtloc);
con.Open();
cmd = new SqlCommand(update empdet set eno =+ t1.Text +,ename ='+ t2.Text +',salary =+ t3.Text +其中eno =+ t1.Text +,con);
cmd.ExecuteNonQuery();
con.Close();
}
public void insert(object s,EventArgs e)
{
TextBox t1,t2,t3;
t1 =(TextBox)GridView1.FooterRow.FindControl(txtIEno);
t2 =(TextBox)GridView1.FooterRow.FindControl(txtIEname);
t3 =(TextBox)GridView1.FooterRow.FindControl(txtIloc);
SqlConnection con = new SqlConnection(uid = sa;密码=秘密;数据源= IN105-D \\ SQL2012; database = SampleDB);
con.Open();
cmd = new SqlCommand(INSERT INTO empdet VALUES(+ t1.Text +,'+ t2.Text +',+ t3.Text +),con);
cmd.ExecuteNonQuery();
getdata();
con.Close();
}
.CS Code:
protected void Page_Load(object sender, EventArgs e)
{
con = new SqlConnection("Your Connection string");
if (!IsPostBack)
{
getdata();
}
}
SqlConnection con;
SqlCommand cmd;
private void getdata()
{
SqlDataAdapter da = new SqlDataAdapter("select * from empdet", con);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
getdata();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
TextBox t1, t2, t3;
t1 = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtEno");
t2 = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtEname");
t3 = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtloc");
con.Open();
cmd = new SqlCommand("update empdet set eno=" + t1.Text + ",ename='" + t2.Text + "',salary=" + t3.Text + " where eno="+t1.Text+"", con);
cmd.ExecuteNonQuery();
con.Close();
}
public void insert(object s, EventArgs e)
{
TextBox t1, t2, t3;
t1 = (TextBox)GridView1.FooterRow.FindControl("txtIEno");
t2 = (TextBox)GridView1.FooterRow.FindControl("txtIEname");
t3 = (TextBox)GridView1.FooterRow.FindControl("txtIloc");
SqlConnection con = new SqlConnection("uid=sa; password=secret; data source=IN105-D\\SQL2012; database=SampleDB");
con.Open();
cmd = new SqlCommand("INSERT INTO empdet VALUES(" + t1.Text + ",'" + t2.Text + "'," + t3.Text + ")", con);
cmd.ExecuteNonQuery();
getdata();
con.Close();
}
这篇关于如何使用datagrid简单地修改数据库中的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!