1.用SQl语句 
use pangu
update department
set d_name = ’财务部’
where dept_id = ’1002’这样好呢?2.用datatable or dataset            string connString = "Server=WWW-28E16B9FC9D;Database=test;Integrated Security=SSPI";
            SqlConnection conn = new SqlConnection(connString);
            SqlDataAdapter myAdapter = new SqlDataAdapter();
            SqlCommand myCommand = new SqlCommand("select * from player", conn);
            myAdapter.SelectCommand = myCommand;
            SqlCommandBuilder myCommandBuilder1 = new SqlCommandBuilder(myAdapter);
            myAdapter.Update(dt);还是这样好?3.情景:  winform中创建一个datagridview,然后绑定,然后进行数据的修改更新
4.用了第二个  第一个什么时候使用合适?

解决方案 »

  1.   

    目的 winf中,通过datagridview更改绑定的数据库,用2完成了。
    想问 1 能完成不? 应该可以吧。就是用sql语句完成更新,不是像2中的直接把dataset或者是datatable更新到数据库。  
    没什么可比性? why? 求教
      

  2.   

    我之前没看到 SqlCommandBuilder 它会帮你生成类似1的SQL 语句,按照它的逻辑所以可能效果和你预期一样,但SQL语句本身会有偏差。 eg:可能你只想更新指定列,它却会更新全部列1 也可以实现的,不过就是要自己写出相应逻辑的 数据库操作语句而已
      

  3.   

    建议用2的方式:与datagridview绑定,不仅仅是修改,还有增加、删除,SqlCommandBuilder 都会帮你自动搞定!根据DataTable的行状态,更新你的数据库!
      

  4.   

    可以用2的方式,反正你用了datagridview,数据源可能是个datatable,正好用数据适配器。
      

  5.   

                string connString = "Server=WWW-28E16B9FC9D;Database=test;Integrated Security=SSPI";
                SqlConnection conn = new SqlConnection(connString);
                SqlDataAdapter myAdapter = new SqlDataAdapter();
                SqlCommand myCommand = new SqlCommand("update department set d_name = ’财务部’where dept_id = ’1002’", conn);
                myAdapter.SelectCommand = myCommand;
                SqlCommandBuilder myCommandBuilder1 = new SqlCommandBuilder(myAdapter);
                myAdapter.Update(dt);
      

  6.   

    3ks for 每个人的回答
    结了啊
      

  7.   

    2 是不被推荐的,当然 1 也是有替代方法的。以前写的DEMO ,里面说明了2的限制http://topic.csdn.net/u/20090727/09/0973BE98-B51A-43C3-8932-BE4ACF318194.html#r_60287739
      

  8.   

    第二种也是生成sql,第一种可能就像你的实例一下,插入一条记录比较实用,如果需要修改多条记录和一些复杂的逻辑算法的话,还有多个表的更新,最好用第二种办法,多个表还是用事务
      

  9.   

    哎 分给少了 下次补上 sorry