q_update.Close;
q_update.SQL.Clear;
q_update.SQL.Add(' update table set C = chg_C, ' +
' D = chg_D, ' +
' E = chg_E, ' +
' chg_C =null, '+
' chg_D =null, '+
' chg_E =null '+
' where A = :A ' +
' and B = :B ' +
' and C = :C ' +
' and D = :D ' +
' and E = :E ' );
q_update.ParamByName('A').AsString := q_origin.fieldbyname('A').AsString;
q_update.ParamByName('B').AsInteger := q_origin.fieldbyname('B').AsInteger;
q_update.ParamByName('C').AsString := q_origin.fieldbyname('C').AsString;
q_update.ParamByName('D').AsString := q_origin.fieldbyname('D').AsString;
q_update.ParamByName('E').AsInteger := q_origin.fieldbyname('E').AsInteger;
q_update.ExecSQL;
이런식으로 업데이트를 시켜주면, C,D,E값을 널로 인식하여 ERROR가 발생합니다. (C,D,E값은 널이 들어갈 수 없는 필드입니다.)
그래서 위의 SQL문에서 C,D,E값에 chg_C,D,E값을 넣어주고,
따로 널값을 넣어주는 SQL을 실행시켜주어야 하더군요..
이런 방법 외에 좀 더 시스템에 부하를 덜 주는 방법이 없을까요?
도움 부탁드릴게요..
제가 아직 초보라서요..^^