用ADO连接数据库Micorsoft Access
 请问在插入记录之前如何断定此字段的内容和数据库中的没有重复.
也就是说主关键字的输入和数据库中的对应字段无重复,如果有提示错误
.请问此条语句如何书写.

解决方案 »

  1.   

    select count(*) from table1 where filedname = 'asdf';
    如果等到的值不是0,就是重复了
      

  2.   

    select count(*) from table where filedname = "hkjh";
    试一试好吗?
      

  3.   

    可以使用m_Filter变量来过滤整个数据库,来查找是否有相同的项
      

  4.   

    select count(*) from table1 where filedname = "kkkkkk";
    好用吗?
      

  5.   

    最好的办法就是该把字段设置主键
    其实
    先 select 有没有
    然后在决定是否 insert 
    在多用户的情况下,如果没有事务支持,是不安全的。
    ================================================================
    Country roads, take me home to the place I belong, West
    0AVirginia, Mountain Mama. Take me home, country roads.
    ================================================================
      

  6.   

    最好的办法就是该把字段设置主键
    其实
    先 select 有没有
    然后在决定是否 insert 
    在多用户的情况下,如果没有事务支持,是不安全的。
    ================================================================
    Country roads, take me home to the place I belong, West
    0AVirginia, Mountain Mama. Take me home, country roads.
    ================================================================
      

  7.   

    最好的办法就是该把字段设置主键
    其实
    先 select 有没有
    然后在决定是否 insert 
    在多用户的情况下,如果没有事务支持,是不安全的。
    ================================================================
    Country roads, take me home to the place I belong, West
    0AVirginia, Mountain Mama. Take me home, country roads.
    ================================================================
      

  8.   

    我想你说的是主键对吧,直接写insert into ....如果有主键冲突,自然会有错误返回,你当然会捕捉错误的吧。
      

  9.   

    to  X_FILE() (  ) 
    你说得没错,不过我要的是这个错误信息由我来编写。
    能给点提示吗?
    感谢各位大侠的帮忙!
      

  10.   

    oracle对于主键冲突是有特定的错误代码返回,sql server和access应该也是有个错误码的
      

  11.   

    对于单用户来说,insert之前先select一下,以确定没有冲突的记录是可以的,如果是多用户环境,当多个用户并发操作时,仍然可能出现insert冲突。对于oracle可以使用select ... where ... for update的方式先锁定记录,但是access就不清楚是否支持。但不管怎样,一定要作捕获错误处理的。