我设计了一个数据库,连接方式如下:
sqlserver2000->ADoquery->TDataSetProvider->TDCOMConnection
->Tclientdataset->Tdatasource->TDBgrideh
有表A
科室代码(主键)  科室名称 
001                A
002                B
003                C
004                D
005                E
有表B
人员ID(主键)     科室代码
P101               001  
P102               001
P103               002
P104               003
P105               003
P106               004
通过sql得到视图并在DBgrideh中显示出来:
人员ID    科室名称
P101         A  
P102         A
P103         B
P104         C
P105         C
P106         D
我想直接在DBgrideh中通过修改"科室名称"从而修改B表的"科室代码".请问我该如何做?谢谢!

解决方案 »

  1.   

    不用sql视图,直接在ADoquery中添加查询字段就可解决吧.
      

  2.   

    可以考虑用触发器实现,具体去查一下资料吧。CREATE TRIGGER trigger_name 
    ON { table | view } 
    [ WITH ENCRYPTION ] 
    {
        { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] }
            [ WITH APPEND ]
            [ NOT FOR REPLICATION ]
            AS
            [ { IF UPDATE ( column )
                [ { AND | OR } UPDATE ( column ) ]
                    [ ...n ]
            | IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
                    { comparison_operator } column_bitmask [ ...n ]
            } ] 
            sql_statement [ ...n ] 
        } 
      

  3.   

    楼主可以使用Lookup字段来实现之。
      

  4.   

    to zswang 
    能不能给个列子