我在delphi中用ado讀取一個視圖:
SELECT        A.EmpName,  A.DepartName,  A.ClassName,
                          RecDate , 
                          B.CardNO, B.WorkTimeNO,
                          MorningON_Time, 
                          MorningOFF_Time, 
FROM         bs_Emp as A,  dbo.kq_Daily as B
WHere A.CardNO=B.CardNO然後,通過 DBGrid 進行修改,卻改不了.原理我也理解,可我同事的視圖為什麼可以用DBGrid進行修改?1、我要如何修改才能修改?
2、用這種方法作視圖與用 Inner 之類的連接作視圖,誰好誰壞?或者有什麼本質區別?
謝謝!補充:
  我說的修改是指修改 MorningON_Time, MorningOFF_Time 兩字段(都是 kq_Daily表的[字段)
另外,我期待的是直接在視圖上改,而不是直接去修改 kq_Daily表

解决方案 »

  1.   

    把你的视图改成如下:SELECT        A.EmpName,  A.DepartName,  A.ClassName,
                  A.RecDate, 
                  B.CardNO, B.WorkTimeNO,
                  B.MorningON_Time, 
                  B.MorningOFF_Time, 
    FROM         bs_Emp as A,  dbo.kq_Daily as B
    WHere A.CardNO=B.CardNO
      

  2.   

    如果要修改视图应该有一个主键才可以,如果没有就要动态的创建一个(仅供参考ACCESS中是这样的)
      

  3.   

    謝謝三位的光臨!
    按 cncharles(旺仔)  說的,把表中一個字段設為主鍵就可以修改了!