로그인 확인을 하려고하면 '테이블이 존재하지 않습니다'라는 에러메세지가 뜹니다.
분명히 테이블이 있는데.. SQL*Plus에는 연결이 되거든요...
디비는 오라클이구요 제(클라이언트)가 서버에 접속해서 사용합니다.
TQuery , DabaBase 두개의 컴퍼넌트로 하려고 합니다.
BDE에서 알리어스 만들어줬구요.
DataBase에서 비밀번호도 줬구요...
여기서준 이름으로 쿼리의 데이타베이스이름으로줬습니다.
로그인확인하는 소스는 다음과 같습니다.
도와주세요~~~ -.-;
procedure TfrmLogin.btnSubmitClick(Sender: TObject);
var
iCbxidx:integer;
sDbpwd :String;
begin
// 빠진항목없는지 확인하고
else // 모든항목을 입력했으면
begin // id, pwd 확인
iCbxidx:=cbxType.ItemIndex;
qryLog.SQL.Add('select passwd from users where type='+inttostr(iCbxidx)+ 'and userid='+edtId.Text);
qryLog.Open;
if qryLog.Eof then
Application.MessageBox('존재하지않는 사용자입니다.','확인', MB_OK)
else begin // 비밀번호 확인
sDbpwd := qryLog.FieldByName('passwd').value;
if sDbpwd = edtPwd.text then begin
qryLog.Close;
frmLogin.ModalResult := mrOK // 로그인창 닫기
end
else begin
qryLog.close;
Application.MessageBox('비밀번호가 틀립니다.','확인',MB_OK);
end;
end; // 비밀번호 확인끝
end; // id,pwd 확인끝
end; // 로그인확인끝
막상 응용 app에서는 없다고 한다구여?
그럼 해당 쿼리 컴포넌트의 테이블 이름을 전부 대문자로 하세요.
소스에서도 참조하는 사용자 테이블의 이름을 전부
대문자로 해보세요.
델파이 소스하고는 상관없이
오라클의 접근권한, 테이블 소유자 등도 다시함 살펴보시구여..