procedure TFrm_bargainm.DBGridEh1EditButtonClick(Sender: TObject);
begin
    try
      adoQuery1.disablecontrols;application.CreateForm(Tfrm_ygcx,frm_ygcx);
frm_ygcx.ShowModal;
if frm_ygcx.DBGridEh1.SelectedRows.Count > 1 then
      begin
        for i := 0 to frm_ygcx.DBGridEh1.SelectedRows.Count- 1 do
        begin
        adoquery1.append;
        frm_ygcx.DBGridEh1.DataSource.DataSet.GotoBookMark(pointer(frm_ygcx.DBGridEh1.SelectedRows.Items[i]));
        adoquery1.FieldByName('empNo').AsString := frm_ygcx.adoquery1.FieldByName('empNo').AsString;
        adoquery1.FieldByName('empname').AsString := frm_ygcx.adoquery1.FieldByName('empname').AsString;
        adoquery1.FieldByName('empsex').AsString := frm_ygcx.adoquery1.FieldByName('empsex').AsString;
        adoquery1.FieldByName('deptbm').AsString := frm_ygcx.adoquery1.FieldByName('deptbm').AsString;
        adoquery1.FieldByName('deptname').AsString := frm_ygcx.adoquery1.FieldByName('deptname').AsString;
        adoquery1.FieldByName('emppy').AsString := frm_ygcx.adoquery1.FieldByName('py').AsString;
        end;这个程序本身没问题,我想得到当TFrm_bargainm的adoquery1.FieldByName('empNo').AsString和frm_ygcx.adoquery1.FieldByName('empNo').AsString;一致时报警并退出,不用所有退出,之前没有一致的数据照样导入

解决方案 »

  1.   

    continuefor i := 0 to frm_ygcx.DBGridEh1.SelectedRows.Count- 1 do 
            begin 
            if adoquery1.FieldByName('empNo').AsString=frm_ygcx.adoquery1.FieldByName('empNo').AsString then continue;//若有相同的此条数据就不导入,并检查执行下一条
            adoquery1.append; 
            frm_ygcx.DBGridEh1.DataSource.DataSet.GotoBookMark(pointer(frm_ygcx.DBGridEh1.SelectedRows.Items[i])); 
            adoquery1.FieldByName('empNo').AsString := frm_ygcx.adoquery1.FieldByName('empNo').AsString; 
            adoquery1.FieldByName('empname').AsString := frm_ygcx.adoquery1.FieldByName('empname').AsString; 
            adoquery1.FieldByName('empsex').AsString := frm_ygcx.adoquery1.FieldByName('empsex').AsString; 
            adoquery1.FieldByName('deptbm').AsString := frm_ygcx.adoquery1.FieldByName('deptbm').AsString; 
            adoquery1.FieldByName('deptname').AsString := frm_ygcx.adoquery1.FieldByName('deptname').AsString; 
            adoquery1.FieldByName('emppy').AsString := frm_ygcx.adoquery1.FieldByName('py').AsString; 
            end; 
      

  2.   

    请问那个蓝色的关键字是怎么设置的啊?我在tool 环境选项中找不到.
      

  3.   


    tool -- editor options -- color
      

  4.   

    CNPACK 建议用这个控件,不仅可以改变色
      

  5.   


    CnPack的CnWizards 是一个IDE增强工具,挺不错的,不是你理解的那种第三方控件
      

  6.   

    可以创建一个adoquery,先select 与你要添加内容一致的内容,如果有就跳过这一行,没有就添加
    如果这两个字段设置的主键,就直接用
    try
      ado.sql.text := 'insert into table values(你的内容);
    excet
      ....
      //跳过这一个数据
    end;