q1.sql.add('select * from mymdb');
q1.open;
while not q1.eof do begin
q2.sql.clear;
q2.sql.add('update mysql set ...');
q2.sql.add('where sqlkey=:mdbkey');
q2.parambyname('mdbkey').asstring:=q1.fieldbyname('mdbkey').asstring;
q2.execsql;
q1.next;
end;
아랫분이 답변하신 부분입니다. 답변 감사드리구요..^^
q2.parambyname('mdbkey').asstring:=q1.fieldbynam('mdbkey').asstring;
이부분이 특히 이해가 안가거든요.
제가 하고자 하는것은 하나의 mdb와 sql db 를 비교해서 2개의 키값이 일치하는 레코드에 한해서 나머지 필드값을 업데이터 하고 싶거든요.
위 코드는 일단 mdb 읽어와서 sql db에서 업데이터 하는것은 맞는 것 같은데
아시는분 보충 설명좀 해주세요...^^
q2.parambyname('mdbkey2').asstring:=q1.fieldbyname('mdbkey2').asstring; //두개의 키값을 비교하기 원한다면
//이렇게 해야 될꺼구요
q2.parambyname('mdbkey').asstring:=q1.fieldbynam('mdbkey').asstring;
이부분이 이해가 안간다고 하셨는데 parambyname 과 fieldbyname 이 이해가 안간다는 건가요?
그건 아래 찾아보시면 답이 있구요,
일치하는게 없을경우는 어쩔꺼냐 머 이런 의문이 생기시는가 본데
일치하는 키값이 없을경우 아무런짓도 하지 않고 next 하게 됩니다.