Q&A

  • 다음과 같은 에러가 나타나는데요..??
a := edit1.text;  //// 아뒤
  b := edit2.Text;  ///// 패스워드

qrylogin.Close;

qrylogin.FieldByName('ID').AsString := a;
qrylogin.FieldByName('Password').AsString := b;
qrylogin.ExecSQL;
qrylogin.Open();
if (qrylogin.FieldByName('ID').asInteger = 1) then begin
   if (qrylogin.FieldByName('Password').AsInteger = 1 ) then  begin
       showMessage('사용자가 확인되었슴');
       end
   else showmessage('패스워드가 틀렸습니다.');
end;
/////////////////////////////////////////////////////
MDB에 저장해 놓은 USER 테이블과 로그인창에서 입력한 아뒤와 패스를
비교해서 맞는 것이 있으면 메시지를 보여주는건데요..
실행시키니 다음과같은 에러메세지가 나오거든요.
'qryLogin : Dataset not in edit or insert mode' .....
어디를 고쳐줘야 할런지요.. 코딩의 문제인지 아님 속성의 문제인지...
알려주시면 고맙겠습니다....
3  COMMENTS
  • Profile
    nilriri™ 2003.03.18 20:50
    qrylogin에..
    select id,password
    where id = :id
    and password = :passowrd라고 되어 있다면..

    qrylogin.ParamByName('ID').Value := a;
    qrylogin.ParamByName('Password').Value := b;

    를 사용하셔야 할것 같은데요..

    qrylogin.ExecSQL;
    이건 필요 없을거 같구요.

    if (qrylogin.FieldByName('cnt').asinteger = 아뒤..) then begin
       이하생략..

    일케 하시면..^^;




  • Profile
    KDDG_hyun 2003.03.18 20:47
    -- 위에문을 지워 보세요

    -- parambyname 을 써야 되지 안나요?

    -- select 문 일텐데.. 필요 없을듯..

  • Profile
    김진효 2003.03.19 06:00
    a := edit1.text;
    b := edit2.text;

    qrylogin.ParamByName('ID').Value := a;
    qrylogin.ParamByName('Password').value := b;

    qrylogin.Open();


    if (qryLogin.FieldByName('ID').AsInteger = 1) then begin
        Showmessage('사용자가 확인되었습니다')
        end
    else begin
        ShowMessage('UserName이나 PassWord가 틀렸습니다.')
    /////////
    위와 같이 바꾸었구요... sql 은
    Select count(ID) from USER  where ID =:ID and PassWord =:Password
    입니다.. 그래도 실행이 안되네요...
    어떻게 해야 하나요... 제발 좀 알려주세요.. T.T