WINform中的DATAGRID的单元格数据更改,怎么能更新到数据库中。应该怎么做??

解决方案 »

  1.   

    修改DataSet里相应的值,再用DataAdapter更新DataSet就行了。要不就直接写个SQL去更新数据库,再刷新一下就好。
      

  2.   

    如果是直接绑定的,update就行了
      

  3.   

    /// <summary>
    /// 使用DataAdapter(数据适配器)对数据进行更新操作,无返回值.
    /// </summary>
    /// <param name="dsName">dsName更新的记录集</param>
    /// <param name="tableName">tableName绑定的表名</param>
    /// <returns>NULL</returns>
    public void updateDataSet(DataSet dsName,string strSql,string tableName)
    { newConnection();
    adapter = new SqlDataAdapter(strSql,this.strConn);
    cb = new SqlCommandBuilder(adapter);DataSet dsModified = dsName.GetChanges(DataRowState.Modified);//获取修改过的行
    DataSet dsDeleted = dsName.GetChanges(DataRowState.Deleted);//获取标记为删除的行
    DataSet dsAdded = dsName.GetChanges(DataRowState.Added);//获取增加的行 try
    {    
    if(dsAdded != null)//添加数据
    {
    this.adapter.Update(dsName,tableName);
    dsName.AcceptChanges();
    dsAdded.Dispose();
    }

    if(dsModified != null)//更新数据
    {
    this.adapter.Update(dsName,tableName);
    dsName.AcceptChanges();
    dsModified.Dispose();
    } if(dsDeleted != null)//删除
    {
    this.adapter.Update(dsName,tableName);
    dsName.AcceptChanges();
    dsDeleted.Dispose();
    }                  
    }
    catch(SqlException e)
    {
    this.strError = e.Message;
    this.Error(this,new EventArgs());
    dsName.RejectChanges();
    }
    }修改完datagrid后直接调用这个方法
      

  4.   

    adapter.Update(ds) ;
    ds.AcceptChanges() ;