델파이6에서 mdb를 열기위해 OLE DB Provider for Microsoft Directory Services를 사용하여 아래와 같이
하려고 하는데 ADOQuery1의 sql.text에서 violation이 나는데 해결방법 좀 알려주세요.
(ODBC를 사용하지 않고 VB의 DAO처럼 오픈하려고 Microsoft Jet4.0 OLE DB Provider를 사용하면 user id에
걸려 안되어 아래와 같이 함)
try
with ADOConnection1 do
begin
ConnectionString := 'Provider=ADsDSOObject;Password=;Encrypt Password=False;Data Source=c:\amis\amis.mdb;Mode=ReadWrite;Bind Flags=0;ADSI Flag=-2147483648';
LoginPrompt := False;
Connected := True;
end;
except
Application.Terminate;
exit;
raise;
end;
//위는 실행하는 것 같음
with ADOQuery1 do
begin
close;
sql.Text := 'select 1 from mailpost where status= 0 and to_type=0 and to_id= :to_id'
+ ' order by regdate desc';
Parameters.ParamByName('to_id').Value := gv_staff_id;
open;
end;
if ADOQuery1.Fields[0].Value = 1 then
begin
showmessage('ok');
end;
+ GetCurrentDir + '\MACTION.mdb;Persist Security Info=False;'
+ 'jet oledb:database Password=tlwkdwhcl';
전에 제가 프로젝트 했던 내용중에서 복사해왔습니다.
User id부분이 걸린다고 하셨는데... 전 그런 경우 없었습니다.
mdb가 비밀 번호가 걸려있던거라 password만 설정해줬었는데..
원하는 답이 아니시겠지만... 참고하세요..