比如说我用了一个DataGrid,通过ADOQuery与表Student相联,
student表(ID,Name),另外使用了DBNavigate来实现新增、删除等操作,那么,当Student 表中已有Name=“李大嘴”时,如何在程序中限制不能再新增Name=“李大嘴”的纪录?

解决方案 »

  1.   

    我用的是ACCESS数据库,而且这个Name在另一个字段,比如说班级ID不同时,是可以重的,所以我不想,也不可能从数据库级限制这个Name为唯一值。
      

  2.   

    用DBNavigate来实现新增可能不好实现你要的。
      

  3.   

    自己写了
    在insert  以前 select 以下
    如果select  出的> 0 就提示了
      

  4.   

    select * from tb where field = 列的值
      

  5.   

    adoquery :='lect * from tb where field = 列的值';
    if adoquery.recordcount >1 then//表示数据库中存在
    begin
    ...
    end
    else
    being
       insert into
    end
      

  6.   

    可以,就是在beforepost时间里检查就可以了,不过效率不高
      

  7.   

    可以,就是在beforepost时间里检查就可以了,不过效率不高
    -------------------------------------------------------
    这个我也想过,但我不知道在beforepost中怎么取消POST?比如说我发现ID=3这个值不对,我怎么做才能把POST取消掉?