DBNavigator的刷新按钮时提示这个,怎么解决?谢谢 
还有用DBNavigator添加数据时,刚增加完3条,DBGrid里面就只看得见一条了,都不知道增加了几条了,怎么解决?用Table.Refresh可以吗?但是又提示it is not uniquely indexed。怎么办啊?

解决方案 »

  1.   

    建议:不要用Navigator的刷新,自己用数据集的关闭即可实现数据刷新,代码如下:
    DataSet.Close;
    DataSet.Open;
      

  2.   

    同意“挂月”的观点
    你可以在Table的posterror事件中添加如下代码
    在interface下添加
    const
      eKeyViol=9729;//主键不唯一错误的值procedure TForm1.Table1PostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    begin
    if (E is EDBEngineError) then
      if(E as EDBEngineError).errors[0].Errorcode=eKeyViol then
      begin
        action:=daAbort;//中止程序继续执行
        dataset.Cancel;//取消修改    showmessage('不能重复');  end;end;