第一个问题:
可以用sql语句查找一下判断是否有相同或者在设计数据库的时候将该字段设置为不可重复.
第二个问题:
只能这样.

解决方案 »

  1.   

    一个方法解决你的两个问题:先进行查询,若记录不存在,INSERT;若记录已存在,UPDATE.
      

  2.   

    UPDATE AA Set BB=CC Where ID=999999999
      

  3.   

    To:yuanxy(梦想鸭) 
    一条记录包含很多字段,在这些字段里,有很多是会重复的,所以不能设为不可重复。
    To:netcar(netload) 
    需要一次性更新的记录有几十条之多,判断一条就要查询一次,效率是不是太低了?有无更好的办法?
      

  4.   

    To:yuanxy(梦想鸭) 
    一条记录包含很多字段,在这些字段里,有很多是会重复的,所以不能设为不可重复。
    To:netcar(netload) 
    需要一次性更新的记录有几十条之多,判断一条就要查询一次,效率是不是太低了?有无更好的办法?
    To:Naola2001(摆地摊的) 
    你的意思是根据ID来判断???
      

  5.   

    必须纠正你的概念:
    对于SQL数据库,没有所谓遍历、指针、定位等等概念。不知道
    你是否从FOXPRO转过来的。用SQL语句,你这几个问题其实根本不是问题。
    1。对于一个TABLE,首先要定义主关键字。
    2。更新记录,使用UPDATE语句。用WHERE子句指明条件。
      

  6.   

    请问junglerover(灌木丛) 
    在用UPDATA语句进行更新时,可否实现这样的功能?即有符合WHERE子句指定的条件的记录时,进行更新,而没有符合条件的记录时,进行添加?
      

  7.   

    1、定义主键
    2、update可与case一起应用。
      

  8.   

    1---->建立索引
    2---->在SQL语句中使用ORDER BY 
       通过以上操作可以提高数据库操作效率
      

  9.   

    1首先用select 查找一下有没有纪录与要写入的纪录的关键项目相同
    2用Update语句
      

  10.   

    “有符合WHERE子句指定的条件的记录时,进行更新,而没有符合条件的记录时,进行添加? ”这个问题,可以用ADO来解决。
    例程:(ADOCONN为已经打开的数据库连接)dim Rec as Adodb.Recordset
    dim strSQL as stringset rec=new adodb.recordset
    strsql="select * from TABLE where ID=你的ID ...."
    rec.o strsql, adoconn,adopendynamic,adlockoptimisticif rec.bof and rec.eof then
        rec.addnew
    end if
    rec.fields("ID")=你的ID
    ....
    rec.update
    rec.close这样就完成了有则修改,无则添加的工作。
      

  11.   

    对于一个TABLE,首先要定义主关键字。更新记录,使用UPDATE语句。用WHERE子句指明条件。 
      

  12.   

    在插入时加入 on error=40002 goto A这个语句当error的值为40002时就表示有重复的纪录插入数据库,对数据库更新肯定要遍历数据库找到该条纪录后将指针定位于该纪录,在修改当前的值,我还没找到更好的办法,你有吗?请告诉我哟