我在form上放置了一个TMemo控件。
我想让使用者把excle的一列(等长18位)拷贝到TMemo上,然后,通过TButton的事件过程,循环将TMemo里的每项存到SQL Server2000数据库里。
现在有两个情况需要判断:
(1) 如何判断TMemo里的数据项是否有重复,若有重复,怎么删除重复的数据项?
(2) 若TMemo里没有重复的数据项,则将TMemo里的数据项逐行保存到Server2000数据库里,若数据库里已有相同的数据项则不保存,这种情况怎么判断?

解决方案 »

  1.   

    不用这么麻烦,照单全收主要处理的是插入到数据库时,是插入到一个临表,注意不是真正的表导入到数据库里的临表后,执行SQL就可以处理完所有的问题如table1是实表,table2是临表 
    insert into table1 select * from table2 where col1 not in (select col1 from table1)
      

  2.   

    明显只有一列,再改改语句insert into table1 
    select col1 from table2 group by col1 having col1 not in (select col1 from table1)
      

  3.   

    我的想法是:
    TMemo里的数据-->虚表-->实表,
    若TMemo里的数据有重复,用你刚才的方法,即:
    insert into table1  
    select col1 from table2 group by col1 having col1 not in (select col1 from table1)
    仍会使重复数据导入实表里去这种情况怎么判断?
      

  4.   

    你有没有看到语句里有group by col1吖?? 汗... 不会重复的啦
      

  5.   

    谢谢!
    我往临时表插数据时共有7个字段。
    如果TMemo有重复记录时,临时表里就会有重复记录,我的目的是往目的表插入的数据不能重复。
      

  6.   

    真是奇怪,经常用的DISTINCT,我怎么忘记了。
    谢谢你们了!!!