데이타베이스는 SQL-Server 2000입니다.
델파이5용 Update 및 ADO 패치1, 2도 하였습니다.
먼저, ADOConnection에서는 접속이 잘되어 집니다.
에러 메세지는
Access Violation 'MSVCRT.DLL'이라고 나타나고
강제 실행하면,
저장장소가 부족하다는 메세지가 나타납니다..
하지만, 일반 DataAccess컴포넌트로 사용하면,
아무 에러없이 잘 실행됩니다..
왜 ADO만 사용하면 이러는지.. 환장하겠네여..
물론 Trace를 해보면,
아래 코딩에서 5번째 Add문에서 MSVCRT.DLL 에러가 납니다.
허참.. 정말 환정하겠네여..
그래서 5째줄 이하를 삭제하면, 에러가 나타나지 않습니다.
이런 방법말고,
직접 SQL에 아래 Query내용을 입력한 후
실행하면, 에러가 나타나지 않습니다.
물론, 아래쿼리는 자꾸 에러가 나기때문에 TEST용으로
만들어서 해 놓은 것입니다.
물론 SQL-Server 자체에 있는 Query Analyzer에서는
수행이 잘되는 Query내용입니다.
수고스럽더라도 아시는분은 답변 부탁합니다.
또한, 게시판을 다 뒤져도 이와 같은 에러에 대한 답변을
찾을 수 없었음을 먼저 말씀드립니다.
여기까지 읽어주신분들께 감사드립니다. (--) (__)
===================================================================
코딩은 아래와 같이 간단합니다..
===================================================================
With ADOQuery1 Do
Begin
Close;
With SQL Do
Begin
Clear;
Add(' SELECT A.LOGINID LOGIINID, ');
Add(' (SELECT ADDRESS FROM H_MEMDTL Z ');
Add(' WHERE A.LOGINID = Z.LOGINID) ADDRESS ');
Add(' FROM M_MEMBER A ');
Add(' WHERE A.LOGINID = :PRM_LOGINID ');
Add(' AND A.PASSWD = :PRM_PASSWD ');
End;
Parameters.ParamByName('PRM_LOGINID').Value := ed_ID.Text;
Parameters.ParamByName('PRM_PASSWD').Value := ed_Passwd.Text;
Open;
If EOF Then ShowMessage('Fail!!')
Else ShowMessage('Successful!!');
End;
===================================================================