只读就不能修改了用edit吧, edit1.text:= table1.field[0].asstring 这是取值

解决方案 »

  1.   

    或者在你的table控件里的BeforePost事件里写if MessageDlg( '是否保存?',mtConfirmation, [mbYes, mbNo], 0) <> mrYes then 
      table1.Cancel ;
    else 
      table1.Post; 
    end;
      

  2.   

    因为dbedit是自动跟数据表挂钩的,所以只要你输入数据后,哪怕不点保存,只要指针在表内移动,数据也会自动进入表中。要想只在点击按钮后才保存入数据表,就用edit 来代替dbedit进行输入。按钮的onclick事件如下:with adoquery1 do
    begin
      insert;
      edit;
      fieldbyname('aaa').asstring:=edit1.text;
      fieldbyname('bbb').asstring:=edit2.text;
      post;
    end;