delphi写入数据库的问题  这么晚了  想在线等等
delphi写入数据库的时候  如何才能知道数据库中没有重复数据    确保数据不重复

解决方案 »

  1.   

    select 重复字段 from tableif(count>0)
      数据重复
      

  2.   

    delphi写入数据库的时候     如何才能知道数据库中没有重复数据         确保数据不重复
    --
    1:判断一个字段
      那就建立索引
    2:判断所有字段
       一个一个字段判断
      

  3.   

    写入前先select一下,是比较保险的办法。但是会影响程序性能如果建立索引的办法
    1,有时候某些字段不适合建立索引。
    2,如果有索引,当写入重复数据时,session会报错,必须写上错误处理语句。齐全的办法只有一种:写复杂一点的sql语句,在语句里加重复检查。
      

  4.   

    可以利用SQL语句加以判断呀:
    IF not (Select Count(*) From TableName Where FieldName = FieldValue) = 0  --WHERE后面是你要判断是否重复的字段
    Begin
      --执行插入语句
    End
      

  5.   

    用 if (Select count(*) from ... = 0) 简洁
      

  6.   

    insert into ... where select ...=0
      

  7.   

    if not exists(select * from table where ...)
    beginend
      

  8.   

    也可以try一下,或者是post时去查询数据库,或者去建立触发器(不过原理已和上面部分大虾说的是一样的).
      

  9.   

     with adoquery3 do
         begin
             close;
             sql.Clear ;
             sql.Text:='select * from yaoid where yaoid='''+trim(edit1.text)'''';
             open;
             if RecordCount=0 then
               insert into ....................... 
           else
               begin
                 MessageDlg('此药品ID已经存在', mtInformation,[mbOk], 0);
                 exit;
               end;
         end;      
      

  10.   

    IF not (Select Count(*) From TableName Where FieldName = FieldValue) = 0  --WHERE后面是你要判断是否重复的字段
    Begin
      --执行插入语句
    End
      

  11.   

    1.数据库上应建立关键字段主键
    2.写入时判断关键字段值是否存在
      select keyfield from tablename where keyfield=keyvalue
      if isempty then
        不存在
      else
        存在
    可以做成function (keyfield,tablename,keyvalue):boolean;