一个添加用户信息的
var a,b,c,d,e : string;
begin
oraquery1.Close;
oraquery1.SQL.Clear;
oraquery1.sql.add('select * from CS_2 where sno=:a')
oraquery1.Params.ParamByName('a').value:=trim(ZH_Edit.text);
if oraquery1.Fields     //后面该怎么写?  实现如下功能:检查新添加的是否在数据库表中已存在。
begin
application.MessageBox('此用户已存在,请重新输入','警告!',mb_ok);
end
else
oraquery1.Close;
oraquery1.SQL.Clear;
oraquery1.sql.add('insert into CS_2(sno,smm,sname,sage,sex) values(:a,:b,:c,:d,:e)');
oraquery1.Params.ParamByName('a').value:=trim(ZH_Edit.text);
oraquery1.Params.ParamByName('b').value:=trim(MM_Edit.text);
oraquery1.Params.ParamByName('c').value:=trim(XM_Edit.text);
oraquery1.Params.ParamByName('d').value:=trim(NL_Edit.text);
oraquery1.Params.ParamByName('e').value:=trim(XB_Edit.text);
oraquery1.execsql;
end;

解决方案 »

  1.   

     if aqy1.RecordCount >=1 then
     begin
       ....
     end;判断你查询出来的是否有符合条件的数据,有的话那就是重复了,没有那么就可以添加了
      

  2.   

    没时间看,先帮你顶. 顺便整理下你的代码方便楼下大牛查看
    var
      a,b,c,d,e : string;
    begin
      oraquery1.Close;
      oraquery1.SQL.Clear;
      oraquery1.sql.add('select * from CS_2 where sno=:a')
      oraquery1.Params.ParamByName('a').value:=trim(ZH_Edit.text);
    if oraquery1.Fields //后面该怎么写? 实现如下功能:检查新添加的是否在数据库表中已存在。
      begin
        application.MessageBox('此用户已存在,请重新输入','警告!',mb_ok);
      end
      else
      begin
        oraquery1.Close;
        oraquery1.SQL.Clear;
        oraquery1.sql.add('insert into CS_2(sno,smm,sname,sage,sex) values(:a,:b,:c,:d,:e)');
        oraquery1.Params.ParamByName('a').value:=trim(ZH_Edit.text);
        oraquery1.Params.ParamByName('b').value:=trim(MM_Edit.text);
        oraquery1.Params.ParamByName('c').value:=trim(XM_Edit.text);
        oraquery1.Params.ParamByName('d').value:=trim(NL_Edit.text);
        oraquery1.Params.ParamByName('e').value:=trim(XB_Edit.text);
        oraquery1.execsql;
      end;
    end;
      

  3.   

    oraquery1.open;
    if oraquery1.Recordcount>0 then 
      application.MessageBox('此用户已存在,请重新输入','警告!',mb_ok);
    else
    begin
      ...
    end;