用 datagridview 控件怎么把写入的数据保存到数据库中去?

解决方案 »

  1.   

    以前用2003写的仅供参考 
    private void SubmitChanges()
    {
    if (dsOneToMany.HasChanges())
    {
    conn.Open();
    SqlTransaction txn = conn.BeginTransaction();
    adpOrders.UpdateCommand.Transaction = txn;
    adpOrders.InsertCommand.Transaction = txn;
    adpOrders.DeleteCommand.Transaction = txn;
    adpDetails.UpdateCommand.Transaction = txn;
    adpDetails.InsertCommand.Transaction = txn;
    adpDetails.DeleteCommand.Transaction = txn;

    try
    {
    int intOrdersModified, intDetailsModified;
    intOrdersModified = adpOrders.Update(dsOneToMany.Orders.Select("", "", DataViewRowState.Added | DataViewRowState.ModifiedCurrent));
    intDetailsModified = adpDetails.Update(dsOneToMany.Order_Details); intOrdersModified += adpOrders.Update(dsOneToMany.Orders.Select("", "", DataViewRowState.Deleted)); txn.Commit();
    MoveFirst(); string strOutput = "已修改 " + intOrdersModified + " 条订单信息\r\n" +
    "已修改 " + intDetailsModified + " 条订单明细信息";
    MessageBox.Show(strOutput, "更新成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message, "更新失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
    txn.Rollback();
    }
    finally
    {
    conn.Close();
    }
    }
    }
      

  2.   

    SqlDataAdapter + SqlCommandBuilder ..调用SqlDataAdapter.Update(DataTable);MSDN:ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxmclictl/html/1660f69c-5711-45d2-abc1-e25bc6779124.htm
      

  3.   

    你当时是用什么把数据库中的数据绑定到datagridview的?
      

  4.   

    我没绑顶任何数据呢 我是想把数据写入到 datagridview 这个.点保存按纽 保存到数据库中
    是这样的!
      

  5.   

    private DataTable DataGridToDataTable(DataGridView dgList)
            {
                DataTable newdt = new DataTable();
                try
                {
                    DataTable dt2 = (DataTable)dgList.DataSource;
                    int colCount = dgList.Columns.GetColumnCount(DataGridViewElementStates.Visible);
                    string[] ColumnNames = new string[colCount];
                    int j = 0;
                    for (int i = 0; i < dgList.Columns.Count; i++)
                    {
                        if (dgList.Columns[i].Visible)
                        {
                            ColumnNames[j] = dgList.Columns[i].Name.ToString();
                            j++;
                        }
                    }
                    
                    foreach (string ColumnName in ColumnNames)
                    {
                        newdt.Columns.Add(ColumnName);
                    }                for (int i = 0; i < dt2.Rows.Count; i++)
                    {
                        DataRow drNew = newdt.NewRow();
                        foreach (string ColumnName in ColumnNames)
                        {
                            drNew[ColumnName] = dt2.Rows[i][ColumnName];
                        }
                        newdt.Rows.Add(drNew);
                        newdt.AcceptChanges();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                return newdt;
     
            } DataTable dt = this.DataGridToDataTable(dgList);
    SqlDataAdapter + SqlCommandBuilder ..调用SqlDataAdapter.Update(DataTable);
      

  6.   

    其实就一个 DATAGRIDVIEW 和一个BUTTON
    在 DATAGRIDVIEW 中写入数据后,点BUTTON 保存数据.
    怎么写BUTTON CLICK 事件??
      

  7.   

    调用SqlDataAdapter.Update(DataTable);
      

  8.   

    我以前用了个非常笨的方法,不过实现了,就是按照位置把value保存到数组里,然后再update到数据库里,然后再帮定刷新,有好的办法的话,希望学习
      

  9.   

    thank you very much!!!!!!!