对视图的更新是非常困难的,而且不同的数据库要求也不尽相同。你的数据绑定最好去找找Grid方面的资料.

解决方案 »

  1.   

    相同的方法应该应用于简单视图表达式,这些表达式引用基表中的计算列,而基表也生成不依赖于其它列的结果,例如:CREATE TABLE ComputedExample
       (
        PrimaryKey    int PRIMARY KEY,
        ComputedCol   AS SUSER_NAME()
       )一些复杂表达式映射到多列:CREATE TABLE SampleTable
         (
          PriKey    int,
          FirstName nvarchar(20),
          LastName  nvarchar(30)
         )
    GO
    CREATE VIEW ConcatView
    AS
    SELECT PriKey, FirstName + ' ' + LastName AS CombinedName
    FROM SampleTableConcatView 中的表达式 CombinedName 包含由 FirstName 和 LastName 值串联起来的值。如果在 ConcatView 上定义 INSTEAD OF INSERT 触发器,则对 INSERT 语句如何提供 CombinedName 列值必须有相应的规则,让触发器确定字符串的哪部分应放在 FirstName 列中,哪部分应放在 LastName 列中。如果选择的规则是让 INSERT 语句使用 'first_name;last_name' 规则指定 CombinedName 的值,则该触发器可成功地处理 INSERT:CREATE TRIGGER InsteadSample on ConcatView
    INSTEAD OF INSERT
    AS
    BEGIN   INSERT INTO SampleTable
          SELECT PriKey,
             -- Pull out the first name string.
             SUBSTRING(
                CombinedName,
                1,
                (CHARINDEX(';', CombinedName) - 1)
                ),
             -- Pull out the last name string.
             SUBSTRING(
                CombinedName,
                (CHARINDEX(';', CombinedName) + 1),
                DATALENGTH(CombinedName)
                )
          FROM inserted
    END
      

  2.   

    哦!看错题目!不好意思!你可以对基础表做INSTEAD OF 触发器试试
      

  3.   

    可是基本表都有他們自己的触發器呀!
    我用的是VB+ADO+SQL﹐RecordSet對象可以通過指定 Unique Catalog ,Unique Table ,Unique Schema 三個屬性來确定一個表﹒可以對于  Unique Schema 我怎么也設不對﹐dbo,sa,user都不行﹒請教各位高手不吝賜教
      

  4.   

    樓上的
    lilyfirstone(永恒......) MARK  什么意思﹖能否具体點﹒
      

  5.   

    use 
    instead of trigger!