当前位置:编程学习 > C#/ASP.NET >>

如何写更新语句?

当我用文本框将datagridview中的对应列数据显示出来的时候~
然后我想修改某一个文本框中的数据,然后点击确定按钮~
那么请问这个时候update语句如何写呢?~~
  求思路啊~~ --------------------编程问答-------------------- 到。net版区问问吧 --------------------编程问答--------------------
引用 1 楼 bancxc 的回复:
到。net版区问问吧
--------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 这个大不了用SQL更新吧 --------------------编程问答-------------------- DataSet ds = new DataSet();
SqlDataAdapter sda;

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];
--------------------编程问答--------------------
引用 6 楼 wuyq11 的回复:
DataSet ds = new DataSet();
SqlDataAdapter sda;

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];

看不明白啊~~
--------------------编程问答-------------------- --------------------编程问答-------------------- 可以利用DataTable.AccessChange();(方法名忘记了)
当DataTable改变后,一交性地提交到数据库。
就如
wuyq11 所讲。 --------------------编程问答-------------------- 你改了哪行的"啥",就Update哪行的"啥" --------------------编程问答-------------------- 不同的页面效果和不同的数据表结构,写的语句是不同的,你什么都没说,我们如何写出呢,思路就简单了,就是update...set.... --------------------编程问答-------------------- 按扭更新数据库,然后重新绑定,这是最笨的方法。好一点的就是用
DataSet ds = new DataSet();
SqlDataAdapter sda;

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];

引用楼主 wangjiweihaha 的回复:
当我用文本框将datagridview中的对应列数据显示出来的时候~
然后我想修改某一个文本框中的数据,然后点击确定按钮~
那么请问这个时候update语句如何写呢?~~
  求思路啊~~
--------------------编程问答--------------------   protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
            this.bing();
        }

        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
            this.bing();
        }


        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string stuId = this.GridView1.DataKeys[e.RowIndex].Value.ToString();
            string isbn = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();
            string sdate = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString();
            string spage = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString();
            string speo = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString();
            string sbeizhu = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString();

            string str = "update bookreportloss set r_isbn='" + isbn + "',r_date='" + sdate + "',r_situation='" + spage + "',r_beizhu='" + sbeizhu + "',r_people='" + speo + "' where r_id='" + stuId + "'";

            MySqlConnection conn = new MySqlConnection();
            conn.ConnectionString = "server=localhost;uid=root;pwd=root;database=books";
            conn.Open();
            MySqlCommand cmd = new MySqlCommand(str, conn);
            cmd.ExecuteNonQuery();
            this.GridView1.EditIndex = -1;
            this.bing();
        } --------------------编程问答--------------------
这个是我以前写过的类似代码!希望对你有帮助!

private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count > 0)       //如果选中的行数大于0,表示有选中行,那么,把选中行中的第一行(允许选中多行的情况下)拿出来,赋值给DataGridViewRow 类型的dr
            {
                DataGridViewRow dr = dataGridView1.SelectedRows[0]; //赋值给DataGridViewRow 类型的dr

                txtName.Tag = dr.Cells["ID"].Value.ToString();      
                txtName.Text = dr.Cells["NAME"].Value.ToString();
                txtTelpho.Text = dr.Cells["CONNECTION"].Value.ToString();
                BornTime.Text = dr.Cells["BORNTIME"].Value.ToString();
                JoinTime.Text = dr.Cells["JOINTIME"].Value.ToString();

                for (int i = 0; i < cmbSex.Items.Count; i++)      //i 表示选中的某一项的索引
                {
                    if (cmbSex.Items[i].ToString() == dr.Cells["SEX"].Value.ToString())
                    {
                        cmbSex.SelectedIndex = i;
                    }
                }
                for (int i = 0; i < cmbSex.Items.Count; i++)      //i 表示选中的某一项的索引
                {
                    if (cmbMajor.Items[i].ToString() == dr.Cells["MAJOR"].Value.ToString())
                    {
                        cmbMajor.SelectedIndex = i;
                    }
                }
            }
        } --------------------编程问答--------------------
引用 9 楼 denbes 的回复:
可以利用DataTable.AccessChange();(方法名忘记了)
当DataTable改变后,一交性地提交到数据库。
就如
wuyq11 所讲。

同意 顺便说一句就这问题。。。。。。 --------------------编程问答-------------------- SqlCommandBuilder 一句话就可以解决。。。这个就是针对于更新操作的
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,