在数据库里有几张表
分别取出每张表的第一条数据 构建一个视图
为了在更新视图的同时更新表 我写了相应的INSTEAD OF UPDATE 触发器在数据库中取视图存入DataTable中,并作为dataGridView的DataSource如何在更新DataTable的同时更新视图,从而更新相应的表

解决方案 »

  1.   

    直接SqlDataAdapter.Update方法 会因为 没有主键而出现异常
    dt.PrimaryKey = new DataColumn[] { dt.Columns["XX"] };
    设置主键 依然抛出异常
      

  2.   

    很简单,你不是用个INSTEAD OF UPDATE 的触发器 嘛
    那你在更新DataTable的时候也update下你的表呀,这样的话就会触发你写的触发器
    然后又会更新你的视图了
      

  3.   

    SqlDataAdapter sda = new SqlDataAdapter("select * from v_260d", con);
    SqlCommandBuilder scb = new SqlCommandBuilder(sda);
    sda.Update(dt);抛出:
    对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。
      

  4.   

    我的天 
    我 50多张表和成的视图 里面有好几十列 写SQL语句的写那年去啊
      

  5.   

    除了直接写sql语句外,貌似没有更好的方法
      

  6.   

    被逼无奈,自己写了一段UpdateCommand问题解决