winform下直接在datagrid中怎么更改数据??并且要提交到数据库中``急求一段代码??
  我的修改语句是用存储过程写的?? 

解决方案 »

  1.   

    update XXX表 set XX字段="修改XX"
      

  2.   

    这个问题可以在这里找到完整答案,
    ADO.NET中的多数据表操作浅析
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
    透过vs.net数据窗体向导看Ado.net
    http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspx
      

  3.   

    用事件绑定啊, 像什么BeginEdit, EndEdit.DataGridView那数不清的事件够你用的. 对,是DataGridView , 不推荐用DataGrid
      

  4.   


    using System.Data.SqlClient;
    using System.Data;//使用SqlServer数据库可自动实现更新,代码很简单
    DataSet ds = new DataSet();
    string sql = "select * from myTable";
    string cnnStr = "server=.;uid=sa;pwd=;database=myDatabase";
    SqlConnection cnn = new SqlConnection(cnnStr);
    SqlDataAdapter adp = new SqlDataAdapter(sql,cnn);
    adp.SelectCommand = new SqlCommand(sql,conn);
    adp.Fill(ds,"myTable);
    SqlCommandBuilder scb = new SqlCommandBuilder(adp);//假若,将ds绑定到DataGridView中
    DataGridView1.DataSource = ds.Tables[0].DefaultView;//则新增、更改均能自动完成,表中设个主键
    //删除的话,可加个 ContextMenuScript ,右键删除时,判断选中行集合不为空,
    //再从DataGridView中Remove选中行,使用代码,即可完成增删改的所有功能DataSet changeDs = ds.GetChanges();
    if(changeDs != null)
    {
      adp.Update(ds);
      ds.AccepteChange();
    }
      

  5.   

      try
                {
                    con = new OleDbConnection(constr);
                    con.Open();
                    OleDbCommand cmd = new OleDbCommand("Select St_CPID as 产品编号,St_CPName as 产品名称,St_CPAnquan as 安全存量 from TbStoreChanpinxinxi", con);
                    OleDbDataAdapter da = new OleDbDataAdapter();
                    da.SelectCommand = cmd;
                    OleDbCommandBuilder cbuild = new OleDbCommandBuilder(da);
                    da.Update(dscpxx1, "TbStoreChanpinxinxi");//dscpxx1是自己在数据源类添加的DataSet生成的,似乎也可以是自定义的。
                   // dataGridView1.DataSource = dscpxx1.Tables["TbStoreChanpinxinxi"].DefaultView;
                   // MessageBox.Show("更新成功");
                    con.Close();
                    con.Dispose();
                    cmd.Dispose();
                    da.Dispose();
                    dscpxx1.Dispose();
                 }