当与TDBGRID绑定时,ADODC中记录为空时可以直接赋值,但不为空时直接赋值出错?为什么?

解决方案 »

  1.   

    出现“operation is invalid the event TDBGRID1_beforeupdate"错误信息
    TDBGRID1是TDBGRID的名字。
      

  2.   

    你是否想在添加一条记录的时候为某些段设置默认值,如果是这样的,你的代码不应该写在这个地方。
    Private Sub TDBGrid1_OnAddNew()
    '在此设置默认值
    Adodc1.Recordset.Fields(0).Value =text_box(0).Text
    '...
    End Sub
      

  3.   

    //在TDBGRID1_beforeupdate事件中写:
    //Adodc1.Recordset.Fields(0).Value =text_box(0).Text
    //运行时如果记录是新增的还没有内容时正常,可是当修改时记录已有内容时出现“operation is invalid the event TDBGRID1_beforeupdate"错误信息。
    //注:TDBGRID1是TDBGRID的名字;Adodc1.Recordset.Fields(0)字段在TDBGRID中没有此列。在修改时你并不想修改这个字段的值吧?
    如果也要修改,那就写在下面的触发事件中
    Private Sub TDBGrid1_AfterColUpdate(ByVal ColIndex As Integer)
    '在此你也可指定是更改了哪一列然后重新给Adodc1.Recordset.Fields(0)赋值。
    End Sub