从另一个Datagridview(或数据表)更新Datagridview(或数据表) [英] Update a Datagridview (or datatable) from another Datagridview (or datatable)

查看:75
本文介绍了从另一个Datagridview(或数据表)更新Datagridview(或数据表)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,



我会将Access DB中的所有记录更新为SQL DB。

列名不相同(但这不是我的问题)。



我处于原型阶段,我通过XXXDataAdapter(sql和oledb)填充2个数据表,然后填充2个数据网格。



1)我会从datagridview1的ID列(第0列)中选择所有行值。

2)对于datagridview1中的每个ID colomn0,如果存在于datagridview2上,则更新该行的所有列(从datagridview1到带有colomn映射的datagridview2)。



我从不使用DataGridVIewRow,但是我在周围游览目标...... :)



也许:

Hello,

I would update all records from a Access DB to an SQL DB.
The column name was not same (but it's not my problem).

I am in prototype phase and i pass through XXXDataAdapter (sql and oledb) to populate 2 datatable, then 2 datagridview.

1)I would Select all rows values from the "ID" column(column 0) from the datagridview1.
2) For each ID from datagridview1 colomn0, if exist on datagridview2, update all columns of this row (from datagridview1 to datagridview2 with colomn mapping).

I never using "DataGridVIewRow", but i tourn around the goal... :)

Maybe :

foreach (DataGridViewRow DataGridRowDestination in dataGridView2.Rows)
{
 if datagridview1.column["ID"].value == DatagridView2.Column["ID"].Value
    {
      datagridview2.Column["name"].value = datagridview1.column["name"].value;
      ...
    }
  
}
Datagridview2.Update;

推荐答案

错误的方法!



你应该处理数据而不是DataGridView行!将MS Access数据库作为链接服务器启动到MS SQL Server [ ^ ]然后使用适当的SQL命令更新您的数据。或者...... 将MS SQL Server数据启动到MS Access [ ^ ]数据库然后更新数据。
Wrong approach!

You should work on data instead of DataGridView rows! Launch MS Access database to MS SQL Server as linked server[^] then update your data using proper SQL command. Or... launch MS SQL Server data to MS Access[^] database then update data.


你好,



实际上我只是使用datagridview进行测试。



我要做数据表之间的比较(我认为.. 。:))





最后简单...... :(我相信可以优化)





Hello,

Actually i just using a datagridview for doing test.

After i going to doing the compare between datatables (i think... :) )


Finally simply... : (i am sure can be optimized)


foreach (DataGridViewRow rowsource in dataGridView2.Rows)
   {                               
    foreach (DataGridViewRow rowdest in dataGridView1.Rows)
     {
      if (rowsource.Cells["N°"] == rowdest.Cells["N°"])
        {
         if (rowsource.Cells["MyColumnToUpdate"].Value != rowdest.Cells["MyColumnToUpdate"].Value)
           {
            rowdest.Cells["MyColumnToUpdate"].Value = rowsource.Cells["MyColumnToUpdate"].Value;
           }
        }
}


这篇关于从另一个Datagridview(或数据表)更新Datagridview(或数据表)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆