SQL语句在sqlserver测试没问题,加到ADOQuery1.SQL.add方法后就不行了
UPDATE KCSP SET KCSP.A13=SPJGB.A4 FROM KCSP,SPJGB WHERE SPJGB.A1=KCSP.A1+'-'+KCSP.A6 ADOQuery1.SQL.Add('UPDATE KCSP SET KCSP.A13=SPJGB.A4 FROM KCSP,SPJGB WHERE SPJGB.A1=KCSP.A1+'-'+KCSP.A6 ');
报错:
[Error] ModifyWithGYH_Unit.pas(55): Operator not applicable to this operand type应该是'-'这里有问题,但是确实需要这个。
UPDATE KCSP SET KCSP.A13=SPJGB.A4 FROM KCSP,SPJGB WHERE SPJGB.A1=KCSP.A1+'-'+KCSP.A6 ADOQuery1.SQL.Add('UPDATE KCSP SET KCSP.A13=SPJGB.A4 FROM KCSP,SPJGB WHERE SPJGB.A1=KCSP.A1+'-'+KCSP.A6 ');
报错:
[Error] ModifyWithGYH_Unit.pas(55): Operator not applicable to this operand type应该是'-'这里有问题,但是确实需要这个。
这样就可以了
ADOQuery1.SQL.Add('UPDATE KCSP SET KCSP.A13=SPJGB.A4 FROM KCSP,SPJGB WHERE SPJGB.A1=KCSP.A1-KCSP.A6');
ADUQuery1.SQL.ADD('UPDATE KCSP SET KCSP.A13=SPJGB.A4 FROM KCSP,SPJGB WHERE SPJGB.A1=KCSP.A1 + ''-'' + KCSP.A6');
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.ADD('UPDATE KCSP SET KCSP.A13=SPJGB.A4 FROM KCSP,SPJGB WHERE SPJGB.A1=KCSP.A1 + ''-'' + KCSP.A6');
ADOQuery1.execSql;
ADOQuery1.close;
但直接放入ADOQUERY裡卻引發錯誤,呵呵
ADOQuery1.SQL.Add('UPDATE KCSP SET CSP.A13=SPJGB.A4 FROM KCSP,SPJGB WHERE SPJGB.A1=KCSP.A1 + ''-'' + KCSP.A6');
建議寫在SP裡調用
ADOQuery1.SQL.Add('UPDATE KCSP SET KCSP.A13=SPJGB.A4 FROM KCSP,SPJGB WHERE SPJGB.A1=KCSP.A1-KCSP.A6');