如何使用datagrid简单地修改数据库中的数据 [英] How to modify data in database simply with datagrid

查看:397
本文介绍了如何使用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屋!

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