各位大侠,小弟遇到这样的问题:是一个form程序,开始时从数据库里读出一部分数据保存到DataSet,然后在DataGridView中显示,并且允许用户更改DataGridView中的数据;如何把DataGridView中的更改保存到数据库?PS:项目没有绑定数据源,DataGridView并没有绑定数据源之类的东西,全是在代码里建立连接然后读取的,SqlConnection也在读取之后都关闭了

解决方案 »

  1.   

    update  表  where   
    一样啊 和你查询差不多 
    就是sql语句变了 而已
      

  2.   

    那就直接DataAdapter.Update(dataset);
      

  3.   

    http://topic.csdn.net/u/20100515/20/e78ec082-8c7d-42a0-a5c9-30be285be57e.html
      

  4.   


     DataTable dt=DataGridView.DataSource as DataTable;
     //修改前
     dt.AcceptChanges();
     //修改后
     DataTable result=DataGridView.DataSource as DataTable;
     dt=result;
     //更新
     DataAdapter.Update(dt); 
      

  5.   

                sqlDa = new SqlDataAdapter("SELECT 语句", sqlConn);            sqlDs = new DataSet();
                sqlDa.Fill(sqlDs, "tablename");            dataGridView1.DataSource = sqlDs.Tables["tablename"];
      

  6.   

    注意,楼主说 他的DataGridView并没有绑定数据源!!!!那么LZ 你首先要做的是 把他作为 DataSet给导出来,,,
                  DataSet ds = new DataSet();
                ds.Tables.Add();
                for (int i = 0; i < dgv.Columns.Count; i++)
                {
                    ds.Tables[0].Columns.Add(dgv.Columns[i].Name);
                }先构建一个结构一样的DataSet出来 然后通过增加 Row 把DataGridView里面的数据都加到 DataSet再使用楼上他们的方法   Updata上去
      

  7.   

    DataGridView,必须与DataTable绑定, 即: DataGridView.DataSource =  DataTable;OleDbDataAdapter DA_QueryTele = new OleDbDataAdapter(sSQl, _oleConn);
    OleDbCommandBuilder cmd = new OleDbCommandBuilder(DA_QueryTele);     // 自动构造SQL语句DA_QueryTele.Update(dt);    // 将更新提交至数据库
    dt.AcceptChanges();
      

  8.   

    用到了 DataSet 更改后 直接更新 到数据库不就中了!
    DataAdapter.Update(dataset);