代码如下:if (bsSkinEdit1.Text<>'') and (bsSkinEdit2.Text<>'') and (bsSkinComboBox1.Text<>'') then
   begin
      if bsSkinComboBox1.ItemIndex=0 then
      begin
         s:='Update income';
         s:=s+' set 收入来源='''+bsSkinEdit2.Text+'''';
         s:=s+' where 收入来源='''+bsSkinEdit1.Text+'''';
         with Query1 do
         begin
            Close;
            SQL.clear;
            SQL.add(s);
            try
               open;
            except
               execsql;
            end;
            if Query1.RecordCount=0 then
            begin
               FrmMain.bsSkinMessage1.MessageDlg('没有找到匹配的记录,请检查输入是否有误!',(mtError),[mbOK],0);
            end
            else
            begin
               FrmMain.bsSkinMessage1.MessageDlg('恭喜您,替换成功!',(mtInformation),[mbOK],0);
            end;
         end;
      end;高手看看什么原因

解决方案 »

  1.   

    if (bsSkinEdit1.Text <>'') and (bsSkinEdit2.Text <>'') and (bsSkinComboBox1.Text <>'') then 
      begin 
          if bsSkinComboBox1.ItemIndex=0 then 
          begin 
            s:='Update income'; 
            s:=s+' set 收入来源='''+bsSkinEdit2.Text+''''; 
            s:=s+' where 收入来源='''+bsSkinEdit1.Text+''''; 
            with Query1 do 
            begin 
                Close; 
                SQL.clear; 
                SQL.add(s); 
                try 
                  execsql;  
                except 
                  raise;
                end; 
                if Query1.RecordCount=0 then 
                begin 
                  FrmMain.bsSkinMessage1.MessageDlg('没有找到匹配的记录,请检查输入是否有误!',(mtError),[mbOK],0); 
                end 
                else 
                begin 
                  FrmMain.bsSkinMessage1.MessageDlg('恭喜您,替换成功!',(mtInformation),[mbOK],0); 
                end; 
            end; 
          end; 
      

  2.   

       with Query1 do 
            begin 
                Close; 
                SQL.clear; 
                SQL.add(s); 
                execsql; 
                end; 
      

  3.   

    你執行的是UPDATE,OPEN是打開數據集,操作不對。
      

  4.   


    if Query1.RecordCount=0 then 
                begin 
                  FrmMain.bsSkinMessage1.MessageDlg('没有找到匹配的记录,请检查输入是否有误!',(mtError),[mbOK],0); 
                end 
                else 
                begin 
                  FrmMain.bsSkinMessage1.MessageDlg('恭喜您,替换成功!',(mtInformation),[mbOK],0); 
                end; 
    這段刪掉
      

  5.   


    if (bsSkinEdit1.Text <>'') and (bsSkinEdit2.Text <>'') and (bsSkinComboBox1.Text <>'') then 
      begin 
          if bsSkinComboBox1.ItemIndex=0 then 
          begin 
            s:='Update income'; 
            s:=s+' set 收入来源='''+bsSkinEdit2.Text+''''; 
            s:=s+' where 收入来源='''+bsSkinEdit1.Text+''''; 
            with Query1 do 
            begin 
                Close; 
                SQL.clear; 
                SQL.add(s); 
                try 
                  execsql; 
                  essage1.MessageDlg('恭喜您,替换成功!',(mtInformation),[mbOK],0);  
                except 
                  essage1.MessageDlg('替换失败!',(mtInformation),[mbOK],0);  
                end; 
            
              
            end; 
          end; 
      

  6.   

    if (bsSkinEdit1.Text <>'') and (bsSkinEdit2.Text <>'') and (bsSkinComboBox1.Text <>'') then 
      begin 
          if bsSkinComboBox1.ItemIndex=0 then 
          begin 
            s:='Update income'; 
            s:=s+' set 收入来源='''+bsSkinEdit2.Text+''''; 
            s:=s+' where 收入来源='''+bsSkinEdit1.Text+''''; 
            with Query1 do 
            begin 
                Close; 
                SQL.clear; 
                SQL.add(s); 
                try 
                  execsql;  
                except 
                  raise;
                end; 
                if Query1.RowsAffected=0 then 
                begin 
                  FrmMain.bsSkinMessage1.MessageDlg('没有找到匹配的记录,请检查输入是否有误!',(mtError),[mbOK],0); 
                end 
                else 
                begin 
                  FrmMain.bsSkinMessage1.MessageDlg('恭喜您,替换成功!',(mtInformation),[mbOK],0); 
                end; 
            end; 
          end; 
    用RowsAffected
      

  7.   

    用RowsAffected 
    可以了,谢谢大侠