楼上的问题有些没有明白,update函数与数据库表格没有直接关系,只要你设置好相应的插入、更新、删除函数,那么他将自动实现数据集与数据库表的更新对应;至于你说的fill两个表的查询,不会影响到update的功能的;
另外的问题,如果你只是需要控制字段具体数值,那么可以在程序中现实现变更,然后在更新数据库就可以了,没有什么太大的问题;如果你是要更改数据库中设置的公式,那似乎,我没有涉及到,呵呵!

解决方案 »

  1.   

    楼主的意思是不是说:用向导一步一步做下来的,但向导自己生成不了update语句,我也遇到这样情况,我想可以在代码中实现。但自己没试过。
      

  2.   

    但我现在遇到一个问题:如果Fill的是两个表的连接查询,这样就不能直接修改提交了,对吧?怎样解决呢?(如果我还是要用DataGrid来修改的话,但查询的结果是表连接查询的结果)
    //Sql语句或者用存储过程直接修改对应的表
    //要更新连接查询,除非你的两个表有主外键联系,然后Sql语句或者用存储过程直接修改对应的视图另还有一个SQL Server2000的问题,在一个字段里设置了公式,比如:([长]*[宽]*[高])为体积字段的公式,但如果我要用命令来修改它呢?怎么改?比如我要改成:([长]*[宽]*[高])/100吧.请教.........
    //你这个公式字段怎么工作的?如果简单是字符串,用UPDATE更新字段即可
    //如果是其他三个字段的综合,我觉得没必要要这个字段!
      

  3.   

    没错,不能直接修改
    你可以用Command对象的ExecuteNonQuery()方法直接修改而不用DataAdapter的Update方法
    sqlCommand.CommandText = "Update ...";
    sqlCommand.ExecuteNonQuery()
      

  4.   

    没错,不能直接修改
    你可以用Command对象的ExecuteNonQuery()方法直接修改而不用DataAdapter的Update方法
    sqlCommand.CommandText = "Update ...";
    sqlCommand.ExecuteNonQuery()
      

  5.   

    转贴自:http://expert.csdn.net/Expert/topic/3050/3050219.xml?temp=.2912256回复人: orswanic() ( ) 信誉:100  2004-05-11 13:30:00  得分:0  
     
      我个人觉得sz_Carol()的方法是可以解决问题的。
    在进行表映射的时候我比较倾向于使用DataViewManager,在不存在同一个DataTable对应多个视图的情况下比较便于管理。
    按照sz_Carol()的方法,如果对主从表的数据存在更新的需求,那么当你使用JOIN的SQL语句生成一个DataTable之后,UpdataCommand之类的CommandText是需要自己手动编写的,SQL语言的UPDATE和INSERT语句不象SELECT处理主从表那么灵活,虽然可以通过存储过程解决,但我通常会在开始的时候就在数据库中建立视图,DataTable的数据直接从数据库视图中SELECT,这样更新插入什么的CommandText更易于编写。
    .........
    .........
      

  6.   

    我感觉吧!得到的结果虽然是两张表的链接查询。但是你保存的时候完全可以把两张表分开保存啊?如果直接用DataSet的方法当然不太方便。我认为你应该在程序中写SQL语句。非常方便而且直观。DataSet的方法当然是有很多局限的。用SQL试试,很方便的!
      

  7.   

    关于楼主第一个问题,回答用SQL语句解决的高手们能不能写一个SQL示例语句,我也想知道怎么写。
      

  8.   

    首先感谢各位对本贴的关注!
      第二个问题我准备在程序中更改再写入,因为用公式,一旦更改后以前的数据也会更改。
      第一个问题我现在也很迷茫。我的本意是DataGrid显示出连接查询结果后,就直接在里面修改,因为一张表中的某些数据段是另一张表更新的依据。然后update方法提交。这样适合大批量修改呀,也直观方便。如果用sqlcommand,要一个个更新,因为数据没有什么规律。有点麻烦。比如说学习成绩。
      至于用存储过程,我现在正在了解它,^_^ 如果方便可以给个例子吗?比如我做一个学生成绩更新的。
       Orivan(椰子壳):不还没学到DataViewManager.对于你说的用视图,我想问一下:修改视图的结果可以更新到表里面吗?我试过了,不行呀。
      

  9.   

    如果解决不了,看来还是用 BlueLevin(蔚蓝闪电)的建议两个表分开保存了。